串口通信(下)

所以要加入if判断是否为接收中断,而P2=~SBUF就是在发送数据的同时控制led的亮灭,接着使用UART_SendByte(SBUF)函数将接收到的数据发送回电脑。当电脑附送数据时执行中断函数,在中断函数中来向单片机发送数据,这样才能避免电脑一直向单片机发送数据。由于完整过程中会有两次中断,一次发送中断,一次接收中断,而发送数据实在接收中断实现的。下面是规定的单片机的中断函数,不同中断函数都有各自的作用,要正确使用相应的中断函数。中断函数需要放在主函数中发挥作用,主函数的代码如下。...
摘要由CSDN通过智能技术生成

接着上次的电脑接收单片机的数据,我们来了解一下电脑向单片机发送数据

在实现该功能时,串口的模式也要相应的进行调整

具体代码如下

void UART_Init()
{
		 SCON=0x50;
		 PCON=0x80;
		 TMOD &= 0x0F;
		 TMOD |= 0x20;
		 TL1=0xF4;
		 TH1=0xF4 ;
		 TF0=0;
		 TR1=1;
		 ET1=0;
		 EA=1;
		 ES=1;
		 PT0=0;
}

与接收的区别是在发送数据时不是持续发送的,这里我们需要是要中断函数来实现发送数据

当电脑附送数据时执行中断函数,在中断函数中来向单片机发送数据,这样才能避免电脑一直向单片机发送数据。

下面是规定的单片机的中断函数,不同中断函数都有各自的作用,要正确使用相应的中断函数

 这里我们需要用到图中第五个中断函数

具体代码如下

void UART_Routine() interrupt 4
{
		if(RI==1)
		{
				P2=~SBUF;
				UART_SendByte(SBUF);
				RI=0;
		}
}

由于完整过程中会有两次中断,一次发送中断,一次接收中断,而发送数据实在接收中断实现的 

,所以要加入if判断是否为接收中断,而P2=~SBUF就是在发送数据的同时控制led的亮灭&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值