STC15系列单片机 串口2发送程序

STC15系列单片机 串口2发送程序,第1张

串口1响应中断

将串口1接收寄存器中的数据放消虚逗到内存中

退出串口1中断誉腊

将内存中的数据通过串口拿卖2发送寄存器发出去

串口裂滑收发,要有通信协议。也就是什么时候开始接收,接收到指令后,转发什么数据。这个要知道,才可以写。而且使用不同的51单片机,其内部寄存器配置是不同的。

一般来说,过程如下:

1,配置串口参数、波特率等,开启串口中断;

void Init_UART()

{

}

2,中断函数里写中断响应函数,根据接收的指令或者数据,执行相应的动作;

程序一般为:

void UART_ISR() interrupt x using y

{

串口中断搏弯处理函数

}

x - 单片机的C51中断号

y - 指定使用的当前工作寄肆银腊存器组号(0-3 PSW中的RS0,RS1组合)

3,主程序

int main(void)

{

Init_UART()

while(1)

{

//数据发送函数

}

}

……你自己把逻辑锁死了。收到一回4字节序列后,flag1置位,之后发送数据。可是在发送数据的时候又会进入中断的,由于接收缓冲区中还是那4字节的序列,于是flag1再次被置位……于是伏知乎进入永不停歇的死循环。

你的串口中断应当判缺判消断一下是发送还冲闷是接收……


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12535333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存