unsigned char volatile xdata CH375_CMD_PORT _at_ 0xBDF1; /* CH375命令端口的I/O地址 */ unsigned char volatile xdata CH375_DAT_PORT _at_ 0xBCF0; /* CH375数据端口的I/O地址 */ 为什么是 0xBDF1和 0xBCF0 呢?
还有资料里有这样一段话: U4(单片机89C51 等)用于测试CH372 的USB 数据通讯功能,本例中CH372 的地址A0 由U4 的 P20 驱动,CH372 的片选线CS#由U4 的P21 驱动,所以CH372 的命令口的地址可以是FDXXH(例子程 序中使用地址BDF1H),数据口的地址可以是FCXXH(例子程序中使用地址BCF0H)
只看见资料上说跟硬件电路有关,到底是怎么得来这个数的呢?
void CH375_WR_CMD_PORT( unsigned char cmd ) { /* 向CH375的命令端口写入命令,周期不小于4uS,如果单片机较快则延时 */ delay2us(); CH375_CMD_PORT=cmd; delay2us(); } 上面这个函数是向命令端写入命令,CH372资料上面写的是A0=0的时候才能写命令,为什么这个函数不需要,而且没有遵守资料上所说的时序。 如果是那样的话,单片机为什么要跟 #CS #WR #RD 连接,连接了之后程序根本就没对这几个引脚操作,连接起来干嘛的?以上两个问题谁能回答我!