STM8S单片机UART串口通信如何实现连续发送和接收两个8位数据
2个回答
展开全部
先说发送
第一个字节是地址没问题,理论上是不是发送下一字节要根据回应的ACK来决定,但实际实现的时候是直接发送的而不理会其ACK,每发送一个8比特,你要间隔1个比特位供从机向总线上写ACK,然后你再写第二字节数据,同样,空出ACK,然后给出结束位
接收
结构是一样的,地址位要变成读操作,区别在于中间的ACK要由你,主机给出,你给低表示还要继续读,你既然要读两个字节,中间的ACK就要给低,接收完两个数据,你给出高电平,告诉从机你已经不需要读取了,然后你给总线结束位就完事了
第一个字节是地址没问题,理论上是不是发送下一字节要根据回应的ACK来决定,但实际实现的时候是直接发送的而不理会其ACK,每发送一个8比特,你要间隔1个比特位供从机向总线上写ACK,然后你再写第二字节数据,同样,空出ACK,然后给出结束位
接收
结构是一样的,地址位要变成读操作,区别在于中间的ACK要由你,主机给出,你给低表示还要继续读,你既然要读两个字节,中间的ACK就要给低,接收完两个数据,你给出高电平,告诉从机你已经不需要读取了,然后你给总线结束位就完事了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询