还有375的三线串口与单片机相连,ACT#与INT#到底连哪条线到单片机的中断,看论坛讨论的与说明书上的不同,糊涂了! 如果375USB口自动检测到有USB设备连接了,是用哪条线通知道单片机中断? 还有系统上电后什么时候把375配置成串口, 默认的串口波特率是多少,论坛有人说是9600bps,但我在“U盘文件读写模块的串口连接说明”这个PDF文件里看到是4800bps,还说与晶体X2的频率有关,这是怎么回事啊,哪个是正确的呢
ACT#:在设备方式下是USB设备配置完成状态输出,在主机方式下是USB设备连接状态输出,低电平有效; INT#:中断请求输出引脚,低电平有效. 也就是INT#接单片机的中断脚,ACT#可用来接LED显示配置是否完成或是设备是否连接。 若想让375工作在并口方式的话得把TXD 引脚通过1KΩ左右的下拉电阻接地或者直接接地,而工作在串口方式的话则TXD与单片机的串口线相连。不过单片机的串口的工作在9位数据下,第9位用来选择该数据是命令还是数据。 375默认的波特率是9600bps,U盘文件读写模块的默认波特率才是4800bps。
luoye268268,谢谢你了 这么说,如果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中没找到,不知道是做什么的