- 博客(5)
- 资源 (7)
- 收藏
- 关注
原创 [stm32]stm32F4输入捕获原理
捕获原理假如我们要捕获如图所示波形的脉宽。1.先设置定时器为向上计数模式2.设置定时器的采样通道channelx为上升下降沿捕获,所以在t1时刻,上升沿就会捕获到当前CNT的值,随即将CNT清零3.在t2时刻下降沿会捕获CNT的值,记为CCRx24.根据定时器的频率,以及期间溢出的次数,即可算出|t1-t2|的时间,从而得到高电平脉宽。如,在高电平期间采样定时器共溢出N次,则总的计数次...
2018-09-26 11:23:45 5876 1
原创 [stm32]stm32按键外部中断,如何消抖
讨论一下stm32下按键外部中断如何进行有效的消抖工程的代码是直接使用stm32 cubeMX进行配置生成的,下面就一起讨论吧。1. 在中断处理服务函数中注释清除中断标志的语句,防止按键抖动而不断的进入中断服务程序中2. 进入回调函数后先进性延时,一般为10ms,进行消抖,然后再判断引脚的电平状态3. 在结束时一定注意要延时一段时间,然后才清除中断标志,而且要相对消抖时间要长一些,目的是为...
2018-09-22 18:10:05 40593 20
原创 [开发工具]解决IAR右键无法GO TO Definition技巧
IAR无法用Go to definition的功能,无法用右键进行查找定位。解决方案有以下几种:保证工程目录下没有中文路径;勾选 Tools 下的Generate browse information,然后clean工程,在进行编译;有时候使用Go to definition电脑会有声音,但是无法进行跳转时,在工程路径中加入$TOOLKIT_DIR$\inc,然后clean工程,在进行编译...
2018-09-22 16:40:53 4486
原创 [stm32]stm32滴答定时器构建多组软件定时器
stm32有很多组定时器,处理一般业务已经足够用了。 但是杀鸡焉用牛刀,对时间精度要求不高的场合可以考虑使用软件定时器,使用方便,快捷。 怎么实现呢?其实并不难,就是使用回调函数即可。1. 先将使用到的参数用结构体封装一下吧#define get_time HAL_GetTick()typedef void (*pfunc)(u8);enum task_tm...
2018-09-17 13:42:24 2202
原创 [stm32]stm32F4串口DMA发送问题解析
使用stm32 cubeMX配置生成的工程发送数据的时候只能发送第一包数据,后面的数据直接跳过了,过了, 了,,,仿真的时候没有任何问题,可以打印所有数据上图: 分析: 查阅stm32F4中文参考手册 使能这种模式(将 DMA_SxCR 寄存器中的 EN 位置 1)时,数据流会立即启动传输,从源完全填充 FIFO 如果 DMA_SxNDTR 寄存器达到零、外设请求...
2018-09-16 20:55:36 6407
gitea.service
2020-10-10
C/C++链表增删改查排序操作
2018-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人