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