![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MCU
南风拂月
我不害怕会一万种腿法的人,我就害怕将一种腿法练习了一万遍的人
-----------李小龙
展开
-
飞思卡尔单片机KEA128之ADC学习
这个ADC模块的操作模式其实也比较简单。首先就是配置,罗列一下该配置什么吧ADICLK ADC模块的输入时钟选择。是总线时钟,总线时钟2分频还是外部的ADIV 对上面的时钟再分频后就可以给ADC的核心模块使用了。MODE 选择8/10/12位转换ADLSMP 短还是长时间采样。不设置的话默认是短ADLPC 高速还是低功耗,低功原创 2016-11-09 13:59:49 · 14330 阅读 · 0 评论 -
TICK延时的有效方法
以往,如果要在程序里非堵塞式地延时一段时间,比如说我发了一包数据,然后要等待一段时间,如果时间到了还没收到回复,则认为超时,如果在等待时间内没有收到数据,我也不能停下来空等,而应该去做别的事。一般情况下,我们会设置一个定时器,让他周期中断,然后定一个全局变量,这个全局变量在这个定时器的中断里累加,程序中凡是需要延时的地方,可以通过读取这个全局变量,来知道时间流逝,这个全局变量一般取名叫tick。在...原创 2018-11-30 11:47:33 · 1107 阅读 · 0 评论 -
EFM32之RTC
注:笔者用的MCU型号是EFM32TG210F32RTC模块的时钟来自LFACLK,即低速时钟树中的A分支。频率由LFACLK和分频值决定。值得注意的是,如果要使用低速设备,一定要记得开启LE看寄存器中的描述,似乎意味着,只要想用低功耗设备,一定要打开这个接口。假定LFACK的频率是32.768kHz,那么不同分频系数下,RTC一个计数值的时间如下你也许会想...原创 2018-12-03 10:59:02 · 907 阅读 · 0 评论 -
编译结果中代码与数据的存储的理解
最近在优化一个项目,想要尽可能地压缩代码,腾出空间写新的业务逻辑。看多了.map文件,有了一些新的理解。我用的编译器是IAR,可能编译出来的.map文件跟keil不一样,但是原理应该是一致的。先说一些基本的概念。程序编译后,主要分成三大部分。text,data,bss。text就是编译后的代码data就是变量,全局变量,局部的静态变量,而且还是有初始值的,亦即是是初始值不是0。至于...原创 2019-06-12 09:53:37 · 489 阅读 · 0 评论 -
使用python操纵jlink
最近在做一个项目,功能都是分开几个人做的,每个人调试自己那部分功能的时候,都用串口打印log信息出来,每个人都调好之后,代码一合并,空间不够了,经过各种删减优化,终于是下进去了。但是这个时候,没有空间可以写log了,出了问题,也不知道是怎么回事,因为这个项目是要大批量一两百个设备运行起来才能看到效果的,我不可能每个设备都连着jlink在线调试啊。关键是空间不足,引脚也没有空出来的。机缘巧合之下...原创 2019-06-12 10:32:56 · 7909 阅读 · 2 评论