CH9344無法輸出RTS信號,求助

我的開發(fā)板需要多串口通訊,于是使用了CH9344L芯片。系統(tǒng)為Linux 5.6,使用論壇上的官方驅(qū)動,版本1.15。編譯加載驅(qū)動后,我發(fā)現(xiàn)串口/dev/ttyWCHUSB0, /dev/ttyWCHUSB1等設(shè)備都可以正常發(fā)送接收,通訊基本正常。然而,/RTS信號似乎始終不受控制。


我使用了如下的測試程序:

/*?嘗試粘貼include語句,但發(fā)現(xiàn)論壇系統(tǒng)會把尖括號當(dāng)成HTML代碼。只好刪除,請自行加入。*/
#include?stdio.h
#include?sys/types.h
#include?sys/stat.h
#include?fcntl.h
#include?sys/ioctl.h
#include?unistd.h


int?main(int?argc,?char?**argv)
{
????if?(argc?!=?2)?{
????????printf("Usage:?./dtr?/dev/ttyX\n");
????????return?1;
????}
????int?fd?=?open(argv[1],?O_RDWR?|?O_NOCTTY);
????printf("Open?%s,?fd?%d\n",?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串口開發(fā)板上,運(yùn)行該程序可以正常產(chǎn)生RTS或者DTR信號。但同樣的程序在CH9344上似乎完全無效,0號串口的/RTS引腳(第20針)和1號串口的/RTS(第12針)始終處于低電平狀態(tài)。不僅沒有信號,而且我發(fā)現(xiàn)這RTS引腳似乎處于高阻抗輸入而非輸出狀態(tài):我在RTS與3.3V電源之間連了個LED燈(串聯(lián)470歐電阻),發(fā)現(xiàn)芯片引腳上的電壓也隨之上升到3.3V(雖然這時候LED燈是反向偏置的),斷開LED燈后電壓又下降到0 V。


以下為Linux內(nèi)核驅(qū)動的調(diào)試日志。

[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()函數(shù)確實(shí)被調(diào)用了,但不知為何沒有效果。


您好,在系統(tǒng)下執(zhí)行命令"lsusb -v -d 1a86:e018",把bcdDevice信息提供下。如下所示:

image.png


bcdDevice為35.00。


您好,V35版本不支持Modem及硬件流控功能,您可以采購我司新芯片替換或者單獨(dú)給我發(fā)下郵件,我們提供在線更新工具給您這邊。


知道了,多謝答復(fù)。下次再用CH9344時會注意采購新版本。


請問在WINDOWS下如何查看CH9344的版本是35還是37呢?



您好,可以留個郵箱,我發(fā)下您確認(rèn)方法。


個人信息保護(hù),已隱藏

多謝


您好,已發(fā)您郵箱。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频