最近要使用沁恒CH573F做一个项目,项目中使用的GPIO较多,只能对外有一路串口使用,而且需要接其他设备,所以开发过程中调试就是个大麻烦。
因为只是调试使用,所以只需要一个发送就可以,在本项目中我使用了一个普通的GPIO模拟串口发送,进行调试信息输出。
我们经常使用串口通讯,通常都是使用1位起始位,8位数据位,1位停止位,没有校验位 的形式传输。
以下两点是要特别注意的地方:
1、串口异步传输在空闲状态时都必须是高电平。第一位传输的是起始位,起始位会将原来空闲时的高电平拉成低电平,起始位用来来标识数据开始传输,提示接收方准备开始接收数据;
2、当接收方第一次检测到一个下降沿时,就表示接收到了起始位。起始位后就是8位的数据位,接收方在接收每一位数据的时候会采集几十次,如果结果都是低电平,则接收到的数据位0,如果结果都是高电平,则棘手到的数据位是1。1位停止位会将电平拉成高电平,以为接收下一个数据做准备。