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;
整个过程就是这样了 挺简单的