几种常用串口分析
串口需要配置波特率,这是众所周知的,但是,CPU本体串口,spi转串口,usb转串口都有什么不同呢?不同的波特率下,CPU怎么实现tx数据
1、本体串口是靠写fifo,当fifo发送为空时会产生中断,这时cpu就可以再收到中断后,继续发送未完成的数据,发送频率跟硬件fifo发送的速率有关(即波特率)
2、spi转串口,spi总线的频率肯定不会改变,那怎么实现不同的串口,实现不同的波特率,原理差不多,也是硬件产生中断,通知CPU
3、usb转串口,usb总线不能产生中断,所以只能cpu不断轮询,问usb发送完了没,发送完了才能接着写数据
总结:波特率跟硬件的设置相关,跟cpu的代码无关