完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我的开发板需要多串口通讯,于是使用了CH9344L芯片。系统为Linux 5.6,使用论坛上的官方驱动,版本1.15。编译加载驱动后,我发现串口/dev/ttyWCHUSB0, /dev/ttyWCHUSB1等设备都可以正常发送接收,通讯基本正常。然而,/RTS信号似乎始终不受控制。
我使用了如下的测试程序: /* 尝试粘贴include语句,但发现论坛系统会把尖括号当成HTML代码。只好删除,请自行加入。*/#include stdio.h#include sys/types.h#include sys/stat.h#include fcntl.h#include sys/ioctl.h#include unistd.hint main(int argc, char **argv){ if (argc != 2) { printf("Usage: ./dtr /dev/ttyXn"); return 1; } int fd = open(argv[1], O_RDWR | O_NOCTTY); printf("Open %s, fd %dn", argv[1], fd); /* set RTS and DTR */ ioctl(fd, tiOCMBIS, TIOCM_RTS); ioctl(fd, TIOCMBIS, TIOCM_DTR); sleep(1); /* clear RTS and DTR */ ioctl(fd, TIOCMBIC, TIOCM_RTS); ioctl(fd, TIOCMBIC, TIOCM_DTR); close(fd); return 0;} 在SiLabs CP2102串口开发板上,运行该程序可以正常产生RTS或者DTR信号。但同样的程序在CH9344上似乎完全无效,0号串口的/RTS引脚(第20针)和1号串口的/RTS(第12针)始终处于低电平状态。不仅没有信号,而且我发现这RTS引脚似乎处于高阻抗输入而非输出状态:我在RTS与3.3V电源之间连了个LED灯(串联470欧电阻),发现芯片引脚上的电压也随之上升到3.3V(虽然这时候LED灯是反向偏置的),断开LED灯后电压又下降到0 V。 以下为Linux内核驱动的调试日志。 [180312.372767] [471983] tty ttyWCHUSB1: ch934x_tty_install, index:1[180312.372778] [471983] usb_wch 2-1:1.0: ch934x_port_activate[180312.373106] [471983] usb_wch 2-1:1.0: ch934x_cmd_out--->[180312.373982] [471983] usb_wch 2-1:1.0: ch934x_cmd_out--->[180312.374200] [471983] usb_wch 2-1:1.0: ch934x_cmd_out--->[180312.374677] [471983] usb_wch 2-1:1.0: ch934x_cmd_out--->[180312.374679] [471983] tty ttyWCHUSB1: ch934x_tty_set_termios[180312.374990] [471983] usb_wch 2-1:1.0: ch934x_cmd_out--->[180312.375097] [471983] usb_wch 2-1:1.0: ch934x_cmd_out--->[180312.375213] [471983] usb_wch 2-1:1.0: ch934x_cmd_out--->[180312.376109] [471983] usb_wch 2-1:1.0: ch934x_cmd_out--->[180312.376112] [471983] usb_wch 2-1:1.0: ch934x_port_dtr_rts[180313.376315] [471983] usb_wch 2-1:1.0: ch934x_tty_close[180313.376319] [471983] usb_wch 2-1:1.0: ch934x_port_dtr_rts[180313.376320] [471983] usb_wch 2-1:1.0: ch934x_port_shutdown, portnum:1[180313.376413] [471325] usb_wch 2-1:1.0: ch934x_tty_cleanup可见ch934x_port_dtr_rts()函数确实被调用了,但不知为何没有效果。 |
|
相关推荐
2个回答
|
|
|
|
|
|
|
|
|
bcdDevice为35.00。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
510 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
1011 浏览 0 评论
1642 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3546 浏览 2 评论
2937 浏览 1 评论
1642浏览 1评论
510浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
1011浏览 0评论
597浏览 0评论
572浏览 0评论
/5
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2026-4-18 15:30 , Processed in 2.538898 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察

淘帖
799