历史上的今天
返回首页

历史上的今天

今天是:2025年02月22日(星期六)

2021年02月22日 | 51单片机串口通信需要加超时中断吗?

2021-02-22 来源:eefocus

接收数据时,超过一定时间就算出错. 这个超时的时间是单片机自己算出的吗?超时的时间是由编程序的人定的,他定多长就多长


从一段程序开始 实现电脑向 单片机发送一些数据,单片机返回Iget +数据


#include #define uchar unsigned char


#define uint unsigned int unsigned char flag,a,i;//声明标志位 flag


uchar code table[]="I get"


void init()


{


TMOD=0x20;//设置T1定时器工作方式为2 8位初值自动重装的8位定时器 这里设置了两个计数器的工作方式


TH1=0xfd; / /T1定时器装初值(高八位) 控制串口通信的波特率(由定时器1的溢出率控制)


TL1=0xfd; //T1定时器装入初值(低八位)


TR1=1; //定时器1运行控制位 置一启动定时器1


REN=1; //允许串口接收


SM0=0; //设置串口工作方式为一


SM1=1; EA=1; //全局中断允许位 置一开全局中断


ES=1; //串口中断允许位


}


void main()


{


init();


while(1)


{


if(flag==1)


{


ES=0;


for(i=0;i<6;i++)


{


SBUF=table[i];


while(!TI);


TI=0;//发送中断标志 发送数据完成后触发中断 硬件置一 必须软件清零


}


SBUF=a; // 串口发送数据


while(!TI);


TI=0;


ES=1;


flag=0;


}


}


}


void ser() interrupt4 //串口中断服务程序


{


RI=0; // 收到数据硬件置一,由软件清零


a=SBUF; //将寄存器的值 赋给a flag=1; //标志位


}


此程序中共用的串口中断,


定时器1中断 特殊功能寄存器SBUF


中断响应的条件


中断源有中断请求 此中断源允许位为1 cpu开中断(即EA=1)以上三个条件同时满足


串口通信设置


确定串口通信波特率(编程TMOD寄存器定时器工作方式寄存器)


计算定时器初值转载THX TLX


确定串行口工作方式(编程SCON寄存器串行口控制方式寄存器)


串行口工作在中断方式时,要进行中断设置如TI,RI软件清零。


推荐阅读

史海拾趣

Hind Rectifiers Ltd公司的发展小趣事

2020年4月,ABLIC成为MinebeaMitsumi集团的一员。这一合作对于ABLIC来说具有重要意义。MinebeaMitsumi集团作为一家在电子元器件领域具有强大实力的企业,为ABLIC提供了更广阔的发展空间和资源支持。通过融入MinebeaMitsumi集团的“八矛战略”,ABLIC的模拟半导体业务得到了进一步提升,其在集团内部的地位也愈发重要。

E-T-A Circuit Breakers公司的发展小趣事

E-T-A公司自1948年由Jakob Ellenberger和Harald A. Poensgen创立以来,一直由该家族掌管。尽管公司已经发展成为一个国际性的企业,但家族第二代和第三代领导人仍然保持着对公司的掌控和管理。他们秉承了家族的创业精神和价值观,坚持以客户为中心,以技术创新为驱动,不断推动公司向前发展。在家族传承的推动下,E-T-A公司得以保持其独特的企业文化和核心竞争力,在电子行业中持续领跑。

冠西电子(COSMO)公司的发展小趣事

冠西电子(COSMO)公司成立于1981年,起初便专注于光电元件产品的制造。公司创始人凭借对电子技术的深刻理解和市场需求的敏锐洞察,逐步将冠西电子打造成光电元件领域的专业制造商。通过不断的技术创新和产品质量提升,冠西电子逐渐在电子行业中崭露头角。

CalAmp公司的发展小趣事

在业务拓展方面,CalAmp公司始终保持着敏锐的市场洞察力。某年,公司成功推出了RFID动物溯源和共享单车智能等新业务。这些新业务不仅为公司带来了新的增长点,也进一步拓宽了其业务范围。虽然新产品线的毛利率较低,对公司的整体毛利率和净利率产生了一定影响,但公司通过优化成本结构和提升运营效率,逐步改善了这一状况。同时,公司与澳大利亚利德品有限公司签订的品牌授权及合作协议,也为公司未来的盈利能力提升奠定了基础。

FerriShield公司的发展小趣事

在快速发展的同时,FerriShield始终不忘履行社会责任。公司积极参与环保事业,推动绿色生产和可持续发展。此外,FerriShield还设立了奖学金和助学金,支持贫困地区的青少年接受教育。这些举措体现了FerriShield作为行业领导者的责任与担当。

以上五个故事均基于FerriShield公司的发展历程和事实描述,展现了其在电子行业中的成长和进步。

Compound Photonics公司的发展小趣事

Compound Photonics公司成立于2007年,其初期发展并不顺利。然而,一个关键的转折点出现在公司收购Syntax-Brillian的专利之后。Syntax-Brillian是一家在微显示领域有着深厚技术积累的公司,其核心在于早年间收购的Colorado Microdisplays/Zight专利。这次收购使得Compound Photonics获得了进入微显示领域的重要技术基础,为后续的发展奠定了坚实的基础。

问答坊 | AI 解惑

关于信号传输协议中的Blanking(空白)

我在BT.656(一个视频数据传输协议)的数据传输协议中看到,对数据的传输格式规定有相当大小的Blanking部分,占到整个数据传输块的很大一部分,我弄不清这个Blanking有什么用处呢?…

查看全部问答>

Windows ce 怎么共享一个中断

如果我要扩展串口 用16c554的话 那如果我一个串口用一个中断的话那样中断就太费了 ,我看到网上说可以共享一个中断,不知道怎么操作方法。使用一个irq吗…

查看全部问答>

现在嵌入开发的前景如何,想去参加一下培训

现在嵌入开发的前景如何,想去参加一下培训 主要目的是想转行做开发…

查看全部问答>

embedded vb 如何把它编译的程序,转成cab阿。在线等

embedded vb 如何把它编译的程序,转成cab阿。在线等 我初次是用这个软件,在他的模拟ppc 2002上已经可以使用了,但是我想安装在真实的机器上测试,不知道怎么弄   希望搞人指教…

查看全部问答>

STM32缺点:竟然没低电平触发外部中断

STM32触发方式只有上升沿或者下降沿啊。。。郁闷。。。…

查看全部问答>

ICkey

刚刚在ICkey买了一块LaunchPad,已经网银付款完毕了,但是还是显示的未付款,不知道怎么回事请问有谁在ICkey买过东西吗     大约多长时间到货呢    有没有人遇到和我一样的情况啊   打他们公司的电话和QQ都没有人 &n ...…

查看全部问答>