以下测试都是在目前最新版CubeMX+F1xx支持包生成代码下进行。。。 问题描述: 使用usart3,rx设置dma收入,circular模式,一次dma收取128Byte,到一个静态uint8_t bufA[128]; 然后在RxCplt和RxIdle中断里面进行处理 RxCplt里直接把128B数据拷入一个ringbuffer,rxidle把不足128B的数据考入 发现:如果收入字节超过128Byte,则第一次进入RxCplt中断的时候,正确情况应该是收到128B后立刻进入此中断 实际上是bufA的数据被128B之后的数据从头循环覆盖了一部分。。。 但是,如果bufA设置为比较小的长度,比如32,一次也只从dma收取32byte,则没有这个问题。。 其他usart暂时没试。 晚上搜了下,有个类似帖子:http://bbs.21ic.com/forum.php?mod=viewthread&tid=1278048 请问大家有什么想法吗。。 |
估计128接受时间太长了,导致进入了下一个:circular周期。个人观点。 |
降低串口波特率试试。从描述发生覆盖的情形看,软件似乎处理慢了许多,导致后面继续在办数据。当然,在DMA完成中断触发信号看看,和串口发送后是否有很大的延迟 |
请问STM32F1能使用11.059Mhz外部晶振吗?如果可以,怎么设置系统频率和PLL?
stm32编码器模式计数问题
Error in final launch sequence: Failed to execute MI command: target remote localhost:61234
最新CubeMX 创建STM32F1 FreeRTOS 选择新版库 1.8.6 后 工程出错
LSM6DS3TR-C 长时间读取后角速度输出为0
单次ADC采样出现两次进入DMA中断的异常情况,救救孩子吧o(╥﹏╥)o
STM32F103高级定时器中,开启单脉冲模式(置位TIMx_CR1:RCR)是不是会立刻清除计数器使能位?
上电或者复位时IO的状态不对
我的也是cubeMX的myST账号登陆不上,搞到夜里12点,都崩溃了
STM32F103做从站 上电过程,上位机不断发送数据造成,通讯失败,请大侠指导一下