- 近段时间感觉时间全都耗费在了公司,也不是一个很好的状态。自己的生活空间全都压榨没了,接下来还是得给自己找点东西做一下。想到自己的手中还有一个小小的Arduino,开始折腾一下吧!
- Arduino是一个开源的软硬件平台,使用C++作为主要的编程语言,官方的IDE基于avr-g++。有现成的库可以使用芯片的各个功能,开发板可以方便扩展各种传感器以及执行器,可以快速设计自己的功能。
- 使用的是AVR单片机,MacroChip的Atmega328PB,16MHZ的主频,32K FLASH,2K RAM、1K EEPROM。说起来,资源量还是不错的。
- 1. 找到原理图、开发工具(DONE)
- 2. 完成hello world的程序(DONE)
- 3. 完成LED的闪烁(DONE)
- 4. 延时操作(DONE)
- 5. 定时器(DONE)
- 6. 任务调度器(DONE)
- 7. 串口初步(DONE)
- 8. SPI(DONE)
- 9. 几种传感器的扩展(DONE)
- 10. SPI通信(从芯片手册上看到了这个芯片是由两个SPI通道的,可能已经有现成的库里,看一下是否可以自己编程使用一下)(DONE)
- 11. 计数器实现(DONE)
- 12. ADC(DONE)
- 13. IIC(DONE)
- 14. EEPROM(FEE)(DONE)
- 15. SD CARD(DONE)
- 16. CAN通信(DONE)
- 芯片手册
- pin脚定义
- 串口驱动
- 原理图
- 参数表
- 串口签名问题解决: https://blog.csdn.net/grey_csdn/article/details/89366882
- 编译器、链接器工具探索以及芯片中断实现方式探索: https://blog.csdn.net/grey_csdn/article/details/89387763
- LED闪烁代码
- 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89323445
- 初始化
- 打印
- 格式化打印
- 读取以及数据接收判断
- 写入
- 总结测试博客地址: https://blog.csdn.net/grey_csdn/article/details/89343631
- 测试了计数器的读取
- 尝试做了一个调度器,观察到了定时不准确的状态,或许一个准确的调度还得自己改定时器中断
- 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89367473
- 应该选择什么资源用于设计任务调度:https://blog.csdn.net/grey_csdn/article/details/89389229
- 实现了1ms的精准中断,使用LED闪烁以及串口打印计数器做了简单的验证。
- 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89390577
- 本来想自己构建一个通用的数据类型,但是发现其实Arduino的开发环境中其实已经存在了。
- 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89407855
- 一个粗糙的任务调度
- 尝试了多文件管理
- 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89409407
- 串口探索,硬件串口库使用
- 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89423432
- 看了下最初的计划,这是一个缺失了的小练习,增补一下只是为了能够让计划的完成更加完整一点。
- 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89423816
- 测试了库中存在的两个延时函数
- 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89424264
- Arduino SPI资源整理:https://blog.csdn.net/grey_csdn/article/details/89430999
- 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89463092
- 目前手中的板子不支持