如何在9200上实现485功能

1112阅读 1评论2010-11-15 yaoqigui
分类:LINUX

我选用了at91rm9200的的串口3,用的内核为2.4.27,先在pio.h中使能rts3,
static inline void AT91_CfgPIO_USART3(void) {
AT91_SYS->PIOA_PDR = AT91C_PA5_TXD3 | AT91C_PA6_RXD3;
AT91_SYS->PIOA_BSR = AT91C_PA5_TXD3 | AT91C_PA6_RXD3;
//mikewanghy add
AT91_SYS->PIOB_PDR = AT91C_PB0_RTS3;
AT91_SYS->PIOB_BSR = AT91C_PB0_RTS3;

}
然后在at91_serial.c中的at91_change_speed函数中加入
if (cflag & CRTSCTS)
mode |= AT91C_US_USMODE_RS485;
最后在你的应用程序中如果你想使用485功能,
static struct termios termios_new
termios_new.c_cflag |= CRTSCTS;
如果你想使用RS232功能,
termios_new.c_cflag &= ~CRTSCTS;

上一篇:AT91RMM9200的PIO使用与设置
下一篇:SNMP配置

文章评论