2019-07-15 09:09发布
zs920918 发表于 2017-12-17 16:09 还有一个问题,我看串口通信读写全靠一个SBUF,请问这个SBUF内存是多大,好像REN=1后就默认不停处于接收状态,如果我一直不停给他传输数据那么SBUF会接收一个字符就把上一个字符顶掉吗?如果想吧接收的数据都存起来应该怎么做?数据都放在哪? ...
最多设置5个标签!
1.这是用定时器1做串口通讯的载波信号源,不需要开定时器1中断,只要开串口中断就可以了。一般应用只要会设置相关寄存器就行了,不必深究内部机理。
2.对于串口可以理解为是单片机的一个外围硬件,SBUF在物理上是两个8位寄存器共用一个地址,分别用于发送和接收。
3.如果想把接收的数据都存起来可以定义一个缓存数组保存SBUF接收到的数据。例如:
void ser() interrupt 4
{
static unsigned char num=0;
RI=0;
rec_buf[num]=SBUF;
num++;
if(num>=6)
{
num=0;
flag=1;
}
}
一周热门 更多>