|
目前在搞一个zigbee的项目,设置模块的时候用的串口发送api命令然后串口空闲中断等待模块回复的信息,做完之后昨天进行了个测试,在循环中连续发送100次,等待回复100次,在每一次测试的时候都到43次的时候开始进不去中断了,根据命令算出大概是收到了1008字节,然后我重新开启空闲中断,开启状态是没问题的但还是不能进中断,也没有进串口错误回调。下面是代码部分求各位大佬帮忙看看,谢谢!!! ide 是cubeide hal库版本是1.17.2 芯片是L4RCTx 下列代码是初始化和中断回调中调用的。
这是测试代码,XBEE_PowOnInit 中会返回本次通讯是否成功。
运行一百次之后,每次测试都是在第43次开始进不去中断了。 |
调用HAL_FLASH_OB_Unlock()直接进入 HardFaultHandler
串口DMA收发出现ORE错误
STM32 增加 WiFi + 以太网的低成本方案
NUCLEO G474RE无法运行程序
STM32F407VGT6 开发板Beak at address "0x0" with no debug information our outside
BootLoader 与 DFU 模式的区别
请问各位一下stm32L431rct6这款芯片,官方有没有停产?
Zigbee 中 Identify与Groups问题
调度器原子变量相关问题
运行到 WRITE_REG (FLASH->OPTKEYR, FLASH_OPTKEY1)跳转 HardFaultHandler
微信公众号
手机版
会将当前DMA关闭掉。这点你要注意,它是按照它的演示逻辑来的。我们可能要具体调整下中断处理函数适合
我们的需求,你稍微研究下库函数代码,相信你会处理好。
嗯,这个问题我注意到了,所以我把DMA中断关闭了。而且就算没关闭,我在回调函数里面重新调用了串口空闲DMA接收,应该也没问题
楼主,您看一发生异常时,DMA中断数据大小,是不是因为数据接收不完整导致的。顺便看一下内存中的数据,是否有收到新的数据。
[md]OK,
你那个43次有特色,好好研究下代码为什么到这个次数出问题。