加入CODE CHINA

· 不限速    · 不限空间    · 不限人数    · 私仓免费

免费加入
README.org

hacking Arduino

简介

  • 近段时间感觉时间全都耗费在了公司,也不是一个很好的状态。自己的生活空间全都压榨没了,接下来还是得给自己找点东西做一下。想到自己的手中还有一个小小的Arduino,开始折腾一下吧!
  • Arduino是一个开源的软硬件平台,使用C++作为主要的编程语言,官方的IDE基于avr-g++。有现成的库可以使用芯片的各个功能,开发板可以方便扩展各种传感器以及执行器,可以快速设计自己的功能。
  • 使用的是AVR单片机,MacroChip的Atmega328PB,16MHZ的主频,32K FLASH,2K RAM、1K EEPROM。说起来,资源量还是不错的。

TDL

  • 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)

具体的工作实践

arduino_001 资料以及工具的准备

  • 芯片手册
  • pin脚定义
  • 串口驱动
  • 原理图
  • 参数表
  • 串口签名问题解决: https://blog.csdn.net/grey_csdn/article/details/89366882
  • 编译器、链接器工具探索以及芯片中断实现方式探索: https://blog.csdn.net/grey_csdn/article/details/89387763

arduino_002 LED闪烁练习

  • LED闪烁代码
  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89323445

arduino_003_serial 串口初步

  • 初始化
  • 打印
  • 格式化打印
  • 读取以及数据接收判断
  • 写入
  • 总结测试博客地址: https://blog.csdn.net/grey_csdn/article/details/89343631

arduino_004_interrupt_and_timer 中断以及计数器

  • 测试了计数器的读取
  • 尝试做了一个调度器,观察到了定时不准确的状态,或许一个准确的调度还得自己改定时器中断
  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89367473
  • 应该选择什么资源用于设计任务调度:https://blog.csdn.net/grey_csdn/article/details/89389229

arduino_005_timer

  • 实现了1ms的精准中断,使用LED闪烁以及串口打印计数器做了简单的验证。
  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89390577

arduino_006 通用数据类型探索

  • 本来想自己构建一个通用的数据类型,但是发现其实Arduino的开发环境中其实已经存在了。
  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89407855

arduino_007 任务调度实现

  • 一个粗糙的任务调度
  • 尝试了多文件管理
  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89409407

Arduino_008 HardwareSerial

  • 串口探索,硬件串口库使用
  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89423432

Arduino_009 Hello World

  • 看了下最初的计划,这是一个缺失了的小练习,增补一下只是为了能够让计划的完成更加完整一点。
  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89423816

arduino_010 延时操作

  • 测试了库中存在的两个延时函数
  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89424264

arduino_011 SPI

  • Arduino SPI资源整理:https://blog.csdn.net/grey_csdn/article/details/89430999
  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89463092

arduino_012 ADC

  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89465120

arduino_013 FEE EEPROM

  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89480093

arduino_014 SD card

  • 目前手中的板子不支持

arduino_015 IIC

  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89504148

arduino_016 DS1302

  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89892528

arduino_017 74HC138三选八芯片

  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/89893442

arduino_018 MCP2515实现CAN收发功能

  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/101712390

arduino_019 Arduino SPI扩展SD卡

  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/101715460

arduino_020 Arduino + python分析天气变化对颈椎病的影响

  • 总结测试博客地址:https://blog.csdn.net/grey_csdn/article/details/106179906

项目简介

🚀 Github 镜像仓库 🚀

源项目地址

https://github.com/greyzhang/g_arduino

发行版本

当前项目没有发行版本

贡献者 2

G greyzhang @greyzhang
G GreyZhang @GreyZhang

开发语言

  • C++ 96.4 %
  • C 3.6 %