全双工改半双工制

arm9 下实现

物理线路是422的线 将其改接成485 2线制(R+接R- T+接T-),使用到的是usart0 串口 。

程序需要修改 发送的时候禁止接受 接受的时候禁止发送,哈 还是蛮简单的

具体 考虑的有两个方面:

1、使用一个静态发送标志位,判断是否发送完成;

2、给一段延迟时间 用于发送

部分代码如下:

if(delay_counter>=300&&tr==1)    //发送标志置位且认为发送完成
  {
   *AT91C_PIOA_CODR = 0x00200000;   //发送使能关闭   补充:使能其实没有必要禁用
   *AT91C_US0_CR   =   0x90;     //启用接收通道 禁用发送通道
  }

在发送数据的函数里添加

 tr = 1 ;  //发送标志置位
 delay_counter = 0;

整个过程就是这样了 挺简单的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值