【学习笔记】读《Arduino编程技巧-75个智能硬件程序设计技巧》手记

2022-5-16 18:45| 发布者: Hocassian| 查看: 42| 评论: 0|原作者: 某团的自留研究所

摘要:
C:\Users\Administrator\Downloads\2019-10-14-11-5-48-11828971857600-Steins;Lab - 某团的自留研究所-采集的数据-后羿采集器.html

标题

【学习笔记】读《Arduino编程技巧-75个智能硬件程序设计技巧》手记

链接

https://steinslab.io/archives/821

发布时间

2016-09-10

导语

读《Arduino编程技巧-75个智能硬件程序设计技巧》手记,写出例程演示,备用

分类

学习笔记

阅读量

3,077 Views

正文

【学习笔记】读《Arduino编程技巧-75个智能硬件程序设计技巧》手记

读《Arduino编程技巧-75个智能硬件程序设计技巧》手记,写出例程演示,备用

51eqk2ydkgl-_sx409_bo1204203200_

这本书很接地气,作者的解释方法很通俗,给出自己搞项目的一些例程,给出许多建议。

 

 

 

 

常用指令

内部上拉电阻


启用内部的上拉电阻,约40kΩ。

 

中断服务


建议


终端服务作者给出以下建议:

  • ISR中断程序一定简短,运行快
  • ISR和程序其他部分之间传递数据要使用volatile变量
  • 不在ISR中使用delay();但是delayMricroseconds()
  • 串行通信读取写入不可靠
  • millis返回值不会改变

 

为什么令终端服务短而快?因为在一个ISR运行时出现另外的中断,ISR本身不会被打断,相反,中断信号会被忽略,直到ISR完成

为什么不使用delay?因为delay使用了定时器和中断。而delayMircoseconds不会使用中断

 

volatile变量


若要在isr中改变全局变量,如bool型的一个flag,需要用volatile变量

定时器中断


库 TimerOne

例程


例程见下方省电例程


休眠


Narcoleptic库


代替delay();

 

 

外部中断唤醒综合例程

中断很简短,改变flag值,即完成中断

返回后在loop中判断flag值,完成任务dosomething

重新休眠


路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部