有一个情况也需要考虑,在实际测试的时候,SPI通信线路过长也是一个因素。我见过有朋友做测试的,长20cm的杜邦线连接同一块板子上的SPI主从机,速度比较快的时候就错相了。
不过你那个问题可能是中断没有处理过来,如果是KL25的话,典型的bus clock 24MHz,core clock 48MHz,中断里内容稍微多一点就搞不定4M的通信波特率了。
但是,你仍然可以通过提高编译器的优化级别试一下,效果还是比较明显的,估计多少能缓解一下丢包的情况。最后,测试程序设计不合理可能也会影响。如果用UART串口输出显示,串口的波特率很低,可能会丢掉一些数据不能显示,而如果是用JLink看的话,有些寄存器被JLink一读,标志位就没了,自然就存不到程序里。
有一个情况也需要考虑,在实际测试的时候,SPI通信线路过长也是一个因素。我见过有朋友做测试的,长20cm的杜邦线连接同一块板子上的SPI主从机,速度比较快的时候就错相了。
不过你那个问题可能是中断没有处理过来,如果是KL25的话,典型的bus clock 24MHz,core clock 48MHz,中断里内容稍微多一点就搞不定4M的通信波特率了。
但是,你仍然可以通过提高编译器的优化级别试一下,效果还是比较明显的,估计多少能缓解一下丢包的情况。最后,测试程序设计不合理可能也会影响。如果用UART串口输出显示,串口的波特率很低,可能会丢掉一些数据不能显示,而如果是用JLink看的话,有些寄存器被JLink一读,标志位就没了,自然就存不到程序里。
举报