preempt linux和stm32时钟

/

linux发送数据500次,stm32只发送SYNC帧4次

linux发送到1000次的时候,stm32发送SYNC帧500次

可能的原因:

linux的高精度定时器不准

stm32在接收前几秒的linux发来的数据的时候,其发送SYNC的定时器中断函数没有执行

(A)linux 通过 HS_USB CDC 发送数据给stm32 ,周期为1ms

stm32 中断接收数据

1、测试stm32是否不掉帧的接收到数据

测试10s,发送的次数和接收到的次数相同,

且linux端的发送函数,每个周期都没有报发送失败的错误。

(B)stm32通过CAN2.0发送数据给电机驱动板,周期为2ms

测试10s,stm32是否每2ms发送SYNC帧到CAN总线上

方法:

(1)确保是每个2ms间隔都有发送,而不仅仅是总的发送次数准确

/

你可能感兴趣的:(linux,stm32,运维)