导航:首页 > 操作系统 > 新手单片机串口不循环

新手单片机串口不循环

发布时间:2024-05-31 19:11:52

㈠ PIC单片机问题 串口传输数据,感觉一直在中断程序里面门都进不了主循环。

unsigned char rev_data = 0;
unsigned char send_data = 0;
void interrupt ISR()
{
if (RCIE & RCIF) //判断是否为串口接收中断
{

rev_data = RCREG; //将接收缓存器中数据读取出来
if(TRMT == 1)
{
TXREG = rev_data;
}
PORTD = ~PORTD;
}
}
单片机最好不要直接寄存器的值赋给寄存器,对串口接收中断必须将缓存器数据读取出来才能清空。另外main函数中while(1)当中要作长延时,不然数据看不到你从串口助手发送后,单片机返回的数据,你尝试一下,不能保证一定可以。

㈡ 单片机的串口输入总是中断

肯定串口有数据,且接收完成后才能进入中断,造成你这种现象的,要么是硬件电路有干扰,RXD线总有一些干扰脉冲,所以造成中断。要么是程序其他地方有问题,强制是RI置1,而进入了中断。

㈢ STC单片机串口不可以连续接收数据

明显就不合理,你在中断里发送数据,估计你还是在那里等它发送完。
当你接收第一次中断的时候,你清除了中断,发送你的数据,此时单片机接收到了n次数据,但是还不能被立即中断,因为你在中断里发送数据,还没退出中断,但此时RI已经置1,发送数据结束后,退出当前中断,由于之前RI置1了(sbuf被刷新很多次,只能接收最近一个字节),又响应了一次中断,所以再发一次数据。
解决办法:在中断外发送数据,并采用循环队列接收方式。

阅读全文

与新手单片机串口不循环相关的资料

热点内容
鲲鹏pc服务器是什么 浏览:572
一级防震梁箍筋加密 浏览:928
linuxxampp64位 浏览:728
西安哪个app能买到东西 浏览:457
eps命令键 浏览:37
塑料文件夹的尺寸 浏览:210
君威压缩机电磁阀 浏览:945
安卓6手机为什么不能用app 浏览:860
什么java编译器支持中文 浏览:563
香港服务器如何做代理 浏览:201
pdf写入 浏览:986
高尔夫电台怎么添加到文件夹 浏览:239
四川麻将一般下哪个app 浏览:864
反编译exe脚本 浏览:462
源码文件夹怎么编译到固件中 浏览:912
ERp打印服务器错误怎么弄 浏览:113
蚌端口u盘加密软件有哪些 浏览:180
前端如何认证服务器 浏览:556
linux切换db2用户命令 浏览:308
相片如何用电解压 浏览:908