- 博客(4)
- 收藏
- 关注
原创 HAL库与Cubemx系列|Systick-系统滴答定时器详解
这段英文解释很重要,外设中断进程调用HAL_Delay的时候,要特别注意中断的优先级问题,如果systick的中断优先级低于外设中断优先级,会导致一直在外设中断中阻塞,如果外设中调用了HAL_Delay(),一定要保证Systick的中断优先级高于外设中断优先级,但是,小飞哥是极其不建议在中断中调用HAL_Delay()函数的。先来看systick的时钟来源,时钟来源为HCLK或者是HCLK的8分频,小飞哥实验选择的是HCLK,72MHZ,确定了systick的时钟源,接下来配置systick的中断周期。
2024-10-15 10:13:24
1044
原创 2的次方表(1~64次方)
2的64次方:18446744073709551616。2的60次方:1152921504606846976。2的61次方:2305843009213693952。2的62次方:4611686018427387904。2的63次方:9223372036854775808。2的58次方:288230376151711744。2的54次方:18014398509481984。2的51次方:2251799813685248。2的52次方:4503599627370496。
2024-07-10 08:43:43
4030
原创 关于使用STM32F103滴答定时器(Systick)实现精准延时
在刚进入delay_us函数的时候,先计算好这段延时需要等待的SysTick计数次数,这里为50*9(假设系统时钟为72MHz,因为systick的频率为系统时钟频率的1/8,那么systick每增加1,就是1/9us),然后我们就一直读取SysTick->CTRL寄存器,当该寄存器bit16的值为1时,说明倒计时了50*9个SysTick,即说明延时50us时间到了。SysTick 的最大使命,就是定期地产生异常请求,作为系统的时基,产生一个周期性的中断。CTRL: Systick控制和状态寄存器。
2024-05-09 20:00:11
1109
1
原创 动态库与静态库的区别
与静态函数库被整个捕捉到程序中不同,动态函数库在编译的时候,在程序里只有一个“指向”的位置而已,也就是说当可执行文件需要使用到函数库的机制时,程序才会去读取函数库来使用;从函数库集成的角度,若要将发布的所有子库(不止一个)集成为一个动态库向外提供接口,那么就需要将所有子库编译为静态库,这样所有子库就可以全部编译进目标动态库中,由最终的一个集成库向外提供功能。从产品化的角度,发布的算法库或功能库尽量使动态库,这样方便更新和升级,不必重新编译整个可执行文件,只需新版本动态库替换掉旧动态库即可。
2023-07-19 19:46:00
430
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人