关于51单片机串口与PC端的通信理解,想问问大家有没有做过51通过串口与PC端的通信鸭?串口中断是不是可以理解成定时中断差不多啊?可是定时器中断到一定时间就触发中断,但是串口中断怎么才能触发,我看了好像说什么接收或发送一定的数据格式就能触发中断,但是数据已经接收或发送了,触发中断还有什么意义么?
我太菜了,求大佬帮帮孩纸,应该怎么去考虑串口,编程应用的时候要注意哪些?(我也不知道我的问题描述清楚了没。。。求大佬轻喷~小弟先谢过大家了)
,51单片机在发送完成或接收结束一个字节数据后都会产生中断请求。要不要响应中断请求并执行中断任务完全由程序编写者选择。以接收为例,实用中的串口通讯内容通常是若干字节(依据通讯协议)数据,下位机接收到一个字节数据暂存在SBUF寄存器中并自动置中断请求RI为1。CPU响应中断请求执行串口任务,读取SBUF寄存器中数据另存,软件清0中断请求标志RI。结束中断任务,等待下一个中断发生。当若干字节(依据通讯协议)数据全部接收完毕就对收到的数据串进行验证和解析,验证错误向上位机发送错误消息,要求重发,验证正确就执行相应任务。,简单理解就是一个外部中断,中断信息一个字节。,沙发解释的很明白了。单片机串口收发数据有两种方式:查询和中断。查询工作方式是:CPU时刻检查串口状态,收到数据时,收到数据时及时的转存,不然收到下一个数据时当前的数据就被覆盖了。这种工作方式要占用大量的CPU时间,工作效率低。中断工作方式是:CPU做好串口及相关中断的初始化,CPU就不用时刻关注串口了,当收到数据时,硬件触发中断,在中断服务程序中及时的接收数据。发送数据亦如此。,
munuc_w 发表于 2021-1-12 09:04
沙发解释的很明白了。单片机串口收发数据有两种方式:查询和中断。查询工作方式是:CPU时刻检查串口状态, …
谢谢解答,我可不可以理解成单片机一直在工作,串口初始化之后,串口接收数据及发送数据都是由硬件自动完成的,它接收/发送完一定数据格式的数据后,产生串口中断告诉单片机,我数据接收了,你要做啥处理就做啥处理?,
学习习鸭 发表于 2021-1-12 10:06
谢谢解答,我可不可以理解成单片机一直在工作,串口初始化之后,串口接收数据及发送数据都是由硬件自动完 …
对头!,建议你观看《人人学会单片机》 第21课开始。认认真真的好好学学。,
munuc_w 发表于 2021-1-12 11:16
对头!
好的好的,十分感谢,谢谢谢谢