两个芯片是完全兼容的,第2脚都是复位输入引脚呀,第25都是复位输出引脚,只是CH376的第25脚复用为SDO引脚接SD卡。
还有376和375的引脚2和引脚25 不一样,可以通用么?
解答见16楼
还有376和375的引脚2和引脚25 不一样,可以通用么?
这两款芯片引脚上是可以通用的,CH375、CH376的第2脚不都是复位输入引脚吗?第25脚CH375是复位输出引脚,CH376的第25脚在进入SD卡模式之前也是复位输出引脚。
如果还有什么疑问,请来电咨询!谢谢!
我做了一个测试 返回值都是零 ,是不是这三个函数错了? xWriteCH376Cmd: NOP MOV P0,A ;A中是命令 SETB CH376_A0 CLR CH376_CS CLR CH376_WR NOP CLR CH376_CS SETB CH376_WR SETB CH376_CS CLR CH376_A0 MOV P0,#0FFH NOP RET
xWriteCH376Data:MOV P0,A ;A中为数据 CLR CH376_A0 CLR CH376_CS CLR CH376_WR NOP CLR CH376_CS SETB CH376_WR SETB CH376_CS MOV P0,#0FFH NOP RET
xReadCH376Data: NOP CLR CH376_A0 CLR CH376_CS CLR CH376_RD NOP CLR CH376_CS MOV MDATA,P0 ;读出数据放入MDATA中 SETB CH376_RD SETB CH376_CS MOV P0,#0FFH RET
时序流程应该没什么问题,注意写脉宽必须大于60ns,命令写完之后必须延时1.5us。测试命令必须通过证明接口没问题。
这个问题搞定,测试通过,谢谢 还有一个问题,没有采用总线方式,用的并口,将INT接了一个普通口,怎么去查询中断状态呢? 要是int悬空,又该怎么查询中断状态呢?
INT引脚的使用在12楼已经说明过。 如果普通口接中断,只需要查询INT引脚为低电平,说明产生中断。 如果不接中断脚,通过xReadCH376Status函数(读命令子函数)读取并行端口的最高位,该位等效于中断引脚的状态,最高位为低,表示有中断产生;
有写命令,写数据,读数据,有读命令的函数么 ?
在检测U盘状态的时候,返回值是15 15 对应的是检测到USB连接事件,可能是新连接或断开后重新连接 怎么会出现这个状况的? 测试已经通过了
读命令与读数据类似,只是A0需要置1。 在检测U盘连接之前需要设置模式06,0x15说明U盘已经连接上了,这是正常的。
模式 已经设置好了06 检测U盘连接状态时的返回值是0x15,不是0x14, 0x15是对应的是检测到USB连接事件,可能是新连接或断开后重新连接 0x14是连接成功, 也就是0x15并没有连接成功,这是什么原因?
正确的流程应该是这样的:插上一个U盘会产生一个中断,然后读一下这个中断状态,之后再发送CMD0H_DISK_CONNECT(0x30)这条命令,再等待中断状态就是0x14.
应该先给电,还是先插U盘 ,