论坛首页
任务活动
问答
论坛专题
登录
注册
结合国际经验
+ 关注
粉丝
1
|
主题
64
|
回帖
773
加好友
私信
帖子
主题
回复
评论
记录一次对STM32G4串口硬件FIFO的调试
2024-4-15 09:04
ST MCU
33
2330
先判断RTO且RTOR寄存器的RTO是0的例子:
问题2: 如果一次性接收到的数据刚好是4的倍数,那么最后一轮数据发完触发的是RTO中断还是RXFT中断还是都有 ...
结果导致一次性接收不超过9字节能正常接收,超过9字节只能接收前9字节: ...
结果导致一次性接收不超过9字节能正常接收,超过9字节只能接收前9字节: ...
问题1: 之前的代码没有手动清除RTOF标志位,导致HAL库自带的HAL_UART_IRQHandler(&huart1); 函数将 RXFT ...
到了这里,基本的功能就已经实现了,如果不想继续深究,看到这边就可以了,后面我会分享自己的debug经历以 ...
修改中断函数:
然后我们修改初始化代码:
3、如何正确的使用FIFO进行数据接收 不知道大家是否还记得空闲中断,对,就是用于DMA接收不定长数据用到的 ...
在现有基础上,我们再次发送"abcdefg\r\n",观看逻辑分析仪抓到的波形: 我们发现当接收完"a"的时候进入了 ...
神奇的事情发送了,串口居然只返回了"1234",丢了3字节,而且我们发现仅在接收到第4个字节的时候进入了一次 ...
然后使用串口助手同样发送"12345\r\n",观看逻辑分析仪抓到的波形:
并且在主循环里加上这一段:(仅用来验证FIFO功能,切勿用于其他用途) ...
修改中断函数:
2、FIFO的运行机制探究 下面,我们把RXNE中断改为RXFT中断: // __HAL_UART_ENABLE_IT(&huart1, UART_IT_RX ...
通道0连接的是PA0,通道4连接的是RX,通道3连接的是TX。发现串口每接收到一个数据就进入一次中断,并且把接 ...
再用串口助手发送"12345\r\n",观看逻辑分析仪抓到的波形:
然后编写中断函数:
二、硬件FIFO的使用 1、配置正常的中断接收 我们在初始化过程中加上这一句: __HAL_UART_ENABLE_IT(&huart ...
阈值是干什么的,一般配成多少。这里的阈值意味着当我的接收FIFO收到n个数据了就可以产生一次中断。比如我 ...
前一页
10
11
12
13
14
15
16
后一页
2
3
近期访客