您好: <br /> UART发送部分只管发送。您给它的数据是什么,它就发送什么。所以,为什么只能发送30多个数据,可能是因为您只给了UART30多个数据(数据缓存区的内容被无意篡改);也有可能是因为发生了错误,导致程序中止,无法继续发送。<br /> 从您给出的描述“当波特率提高时,该现象消失”来看,可能是因为送数据缓存区的数据填充速度要远快于数据缓存区的数据输出速度(随着串口波特率增大而变快),导致数据缓存区满,而缓存区满了后的处理不合适的话,很容易对缓存区的一些参数出错甚至是产生程序中止。<br /> 以上意见仅供参考。
|