[求助]TXD引脚不接地,375就默认是串口,不需要在程序里配置,是这样吗?

如果TXD引脚不接地,375就默认是串口,不需要在程序里配置,是这样吗? 还有我想问问375的连接电容、电阻是不是一定要严格按说明上的大小?

unsigned char set_usb_mode( unsigned char mode ) /* 设置CH37X的工作模式 */ { unsigned char i; CH375_WR_CMD_PORT( CMD_SET_USB_MODE ); CH375_WR_DAT_PORT( mode ); endp6_mode=endp7_mode=0x80; /* 主机端复位USB数据同步标志 */ for( i=0; i!=100; i++ ) { /* 等待设置模式操作完成,不超过30uS */ if ( CH375_RD_DAT_PORT()==CMD_RET_SUCCESS ) return( TRUE ); /* 成功 */ } return( FALSE ); /* CH375出错,例如芯片型号错或者处于串口方式或者不支持 */ } 这段程序我是在贵公司一个C文件看到的,文件名是:ch375_host_int_ser.C。 我不懂的是“数据同步标志”这个地方,数据同步标志作什么用的? 还有最后一句注释我也不明白,为什么处于串口方式375会出错,是不是注释写错了,应该是处于并口方式会出错吧

void set_freq(unsigned char freq) { CH375_WR_CMD_PORT( CMD_SET_SYS_FREQ ); /* 设置系统工作频率 */ CH375_WR_DAT_PORT( freq ); delayms(10); } 还有这段程序,这个系统工作频率我在375的datasheet中没找到,不知道是做什么的

我现在是想用单片机通过375控制鼠标的,是不是就要把12M的晶振换成1.5M的,

TXD不接地的话,那么375就默认的工作在串口方式下,程序里面不需要配置,连接的电容不需要按照说明上的去接,前提是你的芯片要正常工作,但是建议这样去接,上面的同步标志你可以去参考USB协议或者去参考CH375DS1,里面有介绍,而下面的程序是降主频率的命令,将375的工作频率降为1。5M,如果要操作USB鼠标的话,那么你就需要降主频率,同时375的USB口的UD+,UD-和USB口的UD-,UD+相连接


也就是说不需要把12M晶振换成1.5M是吗,只在程序里配置就行是吗? hcn,还有个问题,我有一个是程序文件名是ch375_host_int_ser.C,在程序开头定了#define TEST_LOW_SPEED 1 这句,我看不明白,还有这段:

#ifdef TEST_LOW_SPEED set_freq(0x01); //work in 1.5M /* 设置系统工作频率 */ delayms(5); TR1 = 0; TH1 = 0xf8; /* 22.1184MHz晶振, 115200bps 修改波特率为14400*/ TR1 = 1;

这里为什么又要修改单片机的波特率呢


hcn,我需要你的帮助


下面的程序是用来设置和375相同的拨特率的


可是单片机的波特率已经在这段函数中改了啊: unsigned char modify_baudrate(unsigned char div1,unsigned char div2) { CH375_WR_CMD_PORT( CMD_SET_BAUDRATE ); //向CH375的命令端口写入命令,周期不小于4uS, CH375_WR_DAT_PORT(div1); //分频系数 CH375_WR_DAT_PORT(div2); //分频常数

TR1 = 0; TH1 = 0xff; /*把单片机的波特率改为 22.1184MHz晶振, 115200bps */ TR1 = 1;

delayms(2); //返回操作结果码,成功51H if ( CH375_RD_DAT_PORT()==CMD_RET_SUCCESS ) return(1); else return(0); }

这有前两个问题你没有回答我呢,谢谢了


前面的宏定义只是为了说明如果是低速设备,那么将375的主频降为1。5M,如果不是低速设备,那么就不降主频,还有就是375在操作低速设备的时候,晶振还是要上12M,其次就是你上面提到的modify_baudrate()这个设置波特率实际上是在一开始对375初始化的时候波特率的设置,这个时候你可以不设置波特率,默认通信的波特率是9600,在设置好模式之后,那么,认为操作的是低速设备的话,那么,就降主频,那么降主频导致的结果是375内部的波特率发生改变,从而和单片机这边的通信就会不正常,所以要将单片机的波特率改为将375主频降低了之后的波特率来通信,也就是例子程序里面的14400的波特率


降主频这个说明在哪个文档有,我没有找到啊, 还有就是375默认波特率是9600,怎么降了主频后波特率反而高了呢,哪个文档有这方面的介绍


降主频在说明文档里面好象没有怎么说明,还有就是前面没有说开始的通信波特率是9600,而是上来就将波特率改为了115200了啊,仔细看程序流程


但是375降主频后,它的波特率是如何改变的呢,是不是就升高到14400不变了,还有其它值吗


前面在375主频是12M时设了波特率为115200了,将375的主频降到1.5M时,也就相应的将波特率降到了14400了(也就是原来的主频除以8)。 除了常用的波特率外,你想取其他值的话,你可以参考375说明书“5.5. 命令SET_BAUDRATE”进行自行修改。


只有登录才能回复,可以选择微信账号登录