本帖最后由 wooda 于 2021-3-12 23:06 编辑
他估计是接收和处理用得同一个缓冲。
接收再处理的时候又发生了中断,然后就gg了
建议是中断里面数据往buf扔,接收处理程序上手第一时间memcpy到自己的buf里面慢慢处理,中断和接收处理程序之间用咯标志位做互锁保护数据不被冲掉。
还有个办法就是环表,只要2倍或者1.5倍,写的效率高一点可以接近1.1或者类似比例,就能保证不被冲。可以设标志位检查有没有头尾撞车,撞车了就设大一点。。不过环表如果撞车,就是数据量太大,设大一点也只能提高峰值能力,不能提高平均能力 |