无源晶振开关电路设计
为什么DMA搬运数据只搬运最后1个字节的数?
如何将电机转速度控制在0.1RPM以下?我尝试过将SPEED_UNIT改为480,电机转速度可以控制在0.125RPM,但最转到250RPM时,编码器计数好像溢出了
STSPIN32G4内部驱动电压输出问题
使用Hal库的SPI读取磁边传感器导致STM32G4无法运行
定时器触发SPI
stm32G474RBT3的flash擦除寿命是多少?
stm32g474RE 输出4相波形,如何精准输出ADC触发的问题。
STM32G491 flash擦除的问题,请教大神
STM32G4 FLASH擦除不了,寻求各位大佬、官方的帮助
微信公众号
手机版
第一、中断程序是用户写的,你不在中断服务程序里 长篇大作即可避免,只在中断服务程序里
设置特定标志,在主循环里基于标志位状态做相应处理。
当然,这个并非绝对的。要看具体需求,有时就是需要基于中断事件一气呵成地将事情处理完毕,
此时只能将代码尽量简练些。 还有就是,如果系统中断多,合理安排中断优先级也非常重要。
第二、避免,只能尽力避免。丢包可能软硬件方面的原因。接收方保证接收的优先级或及时性,比如调高接收中断的优先级,或采用DMA接收同时也保证相关DMA的优先级。硬件上尽量保证线路的稳定可靠。
第三个问题,UIART协议就是起始位加上一个字节数据,然后停止位。如果觉得该协议不满足需求,可以
看看别的协议,比方CAN,I2C,SPI等等。
应该可以吧。有通讯协议,发多长都不是问题。问题是一次发太多,受到干扰,就得重发。每次重发的太多,会稳定?
中断的处理,尽可能是建立标志,在外部执行处理。中断处理中执行的代码太多,很容易导致中断嵌套,影响主程序。