用CH341来作模拟串口,因为要设置高速率,那么就是先设置串口回300波特率。然后发送“#XXXXXXX_”格式设置高速率,此时通讯的速率已经改到了高速率,但是软件所认为的串口通讯速率是以前的300BPS 那么此时RTS/CTS是以哪个速率作为参考呢? 作为硬件握手协议,它是以此时的实际硬件通讯速率还是300bps,作为参考速率呢?望版主能解答我这疑问,衷心感谢文字
只要你设置了高波特率,芯片就会在您所设置的波特率下工作.
感谢楼上的帮助, 不过在实际测试中,发现RTS/CTS的信号不是以我所设置的高波特率工作的,故此才会有此疑问的,我再重新检查看看吧,如果还有类似的问题的话,在发帖请教大家吧
MSComm1.Settings = "300,n,8,2" str1 = "#200000_" MSComm1.Output = str1 MSComm1.RTSEnable = False ********************* 调用发送N个字符的程序 ********************* MSComm1.RTSEnable = True 理论上来说我用示波器观察RTS信号线的话,因该看到的是它的波形变化周期 t= 1/200000*(1+8+2)*N, (因为设计中需要他输出这点时间的低电平),可是实 际观察发现,这一时间远远超出。大约有接近10ms ,故这也是我疑惑不解的地方,不知 哪位高人,能指点在下 ,或者我的想法有什么出错的地方,请予以指教,谢谢!
波特率是指串口数据位传输的速率.而RTS等握手信号的控制主要是由计算机通过usb口发送数据包到芯片由软件实现控制的,而且受到USB传输1ms一帧的限制,所以之间的间隔可能有点长. 另我们芯片还提供了线硬件控制的握手信号,ten:发送使能脚,低电平可以发送数据;RDY:高电平说明芯片正忙,这两个信号是由硬件控制的,速度比rts快,但是软件上不能控制.
谢谢楼上的指点,这下我明白了