TI中文支持网
TI专业的中文技术问题搜集分享网站

串口驱动问题omap-serial.c

有用使用RS485,需要软件使用收发。

 需在驱动架构修改,已经做了一下修改。发现不是很理想。

##########################

1、start_tx 时为TX 模式

2、shutdown时为RX模式

问题:一个发线程和收线程,此时是能发不能收。

求解:收发模式的最好点是在哪里?

 

#########################

static struct uart_ops serial_omap_pops = {.tx_empty= serial_omap_tx_empty,.set_mctrl= serial_omap_set_mctrl,.get_mctrl= serial_omap_get_mctrl,.stop_tx= serial_omap_stop_tx,.start_tx= serial_omap_start_tx,.stop_rx= serial_omap_stop_rx,.enable_ms= serial_omap_enable_ms,.break_ctl= serial_omap_break_ctl,.startup= serial_omap_startup,.shutdown= serial_omap_shutdown,.set_termios= serial_omap_set_termios,.pm= serial_omap_pm,.type= serial_omap_type,.release_port= serial_omap_release_port,.request_port= serial_omap_request_port,.config_port= serial_omap_config_port,.verify_port= serial_omap_verify_port,
#ifdef CONFIG_CONSOLE_POLL.poll_put_char  = serial_omap_poll_put_char,.poll_get_char  = serial_omap_poll_get_char,
#endif
};

Jian Zhou:

RS485应该是通过1个GPIO来控制首发方向的,你有在这个驱动的收发函数中加入GPIO控制功能么?

andarm lin:

回复 Jian Zhou:

在serial_omap_stop_tx函数中,然后判断 if (up->ier & UART_IER_THRI)发送完成后,然后将模式转换成接收模式RX,

现象: 但是用示波器看到TX数据还没发送完,EN引脚就已经被切换了。

求解?

pt zhang:

回复 andarm lin:

你好,

我也是遇到能发不能收的问题,请问你解决了吗

赞(0)
未经允许不得转载:TI中文支持网 » 串口驱动问题omap-serial.c
分享到: 更多 (0)