![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机
Hello:CodeWorld
走过大半个中国去睡你、
展开
-
uCOS-II系统延时函数
延时函数的几点说明:1.延时函数由两个OSTimeDly()和OSTimeDlyHMSM(),其实OSTimeDlyHMSM函数实现内部也是调用了OSTimeDly函数。不同的地方是OSTimeDlyHMSM的参数多了几个参数,可以指定具体要延时几个小时、几分钟、几秒钟或几毫秒的时间。2.这两个延时函数执行时,都会阻塞当前Task的执行,直到延时时间结束才可以进行往下执行该Task.3.由于延时函数会阻塞当前执行的任务,所以拿该延时函数来做定时任务的定时时间管理可能会不准确。OSTim.原创 2021-03-27 21:27:06 · 1688 阅读 · 0 评论 -
在main函数之前,IAR做了哪些事情?(转载)
首先系统复位时,Cortex-M3从代码区偏移0x0000'0000处获取栈顶地址,用来初始化MSP寄存器的值。接下来从代码区偏移0x0000'0004获取第一个指令的跳转地址。这些地址,是CM3要求放置中断向量表的地方。这里是一个程序的启动区的反汇编:__vector_table: 080040002600 080040022000 0...转载 2019-03-16 10:32:47 · 1003 阅读 · 0 评论 -
c语言中普通全局变量和static全局变量的区别
全局变量的说明之前再冠以static就构成了静态的全局变量。从存储方式上来说:非静态全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者存储方式上并无不同。从作用域上来说:非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。静态全局变量则限制了其作用域,即只在定义该变量的源文件有效,同一个源程序的其他源...原创 2019-04-14 09:21:54 · 1417 阅读 · 0 评论 -
flash擦除等待时间太短引起的一场血案
之前针对外部flash的操作,没有太多深入的研究和应用过,基本上就是SPI通讯接口也是现有的,无需再调试的,应用的时候直接调用相关的擦除、写入、和读取等操作的接口。最近遇到一个与外部flash相关的问题,搞了好多天才最终查出问题的根源。关于产品相关部分的排查工作,我这里就不便多说了。只针对flash芯片部分的排查过程和一些新得感悟说一下。 首先一个问题,外部flash的通...原创 2019-06-29 23:31:54 · 5228 阅读 · 0 评论 -
模拟I2C通讯驱动调试的些许感悟
下面传的图是在调试一款温湿度传感器的时候捕获到的信号,该xxx温湿度传感器芯片采用的是I2C通讯接口。本来想用硬件I2C接口来进行通讯的,发现通过STM32CUBEMX这款软件自动生成的接口。这里额外介绍一下STM32CUBEMX这款软件,STM32CUBEMX是ST公司设计的一款免费软件,软件可以通过其官网下载。现在已经下载到。通过STM32CUBEMX可以完成从单片机选型,程序初始化,中...原创 2019-06-29 23:33:42 · 493 阅读 · 0 评论 -
I2C通讯协议介绍
声明:本博内容转载右侧博主:原博链接。 https://blog.csdn.net/jasonchen_gbd/article/details/77431951 感觉写的不错,特转载,鸣谢简介I2C(Inter-integrated Circuit)总线支持设备之间的短距离通信,用于处理器和一些外围设备之间的接口,它只需要两根信号线来完成信息交换。I2C最早是飞利浦在1982年开发设计...转载 2019-06-30 20:51:57 · 1497 阅读 · 0 评论 -
从单片机工程文件中的map文件可以了解到哪些信息
未完待续.........首先一个问题,IAR工程中如何生成map文件? 首先选中项目文件名,然后按这个路径Project/Option/Linker/list/在Generlate linker listing前打勾,然后你就看到Module map 这个选项选上了,然后编译链接源代码,就可以看到生成一个扩展名是map的文件,打开这个文件就看到代码大小。第二个问...原创 2019-06-30 20:58:52 · 1761 阅读 · 0 评论 -
单片机工程文件中icf文件包含哪些内容
正文待续。。。。。。原创 2019-06-30 21:01:29 · 951 阅读 · 0 评论