飞利浦的MCU(P89C669)串口连接CH376, 初始化不成功!!

用P89C669串口连接CH376, 使用mInitCH376Host()这个函数初始化时, 发现初始化不成功.

一步步的调试, 发现uchar duCH376_DATA(void)这个函数没有读到数据, 求分析问题出在哪里?


mInitCH376Host()这个函数前两步是先写CMD11_CHECK_EXIST, 再写0x65, 这个过程对不?

                                     

用P89C669串口连接CH376, 使用mInitCH376Host()这个函数初始化时, 发现初始化不成功.

一步步的调试, 发现uchar duCH376_DATA(void)这个函数没有读到数据, 求分析问题出在哪里?


mInitCH376Host()这个函数前两步是先写CMD11_CHECK_EXIST, 再写0x65, 这个过程对不?

           

mInitCH376Host() 已经包含你说的那两个步骤了。直接在主函数调用即可。


UINT8mInitCH376Host( void )  /* 初始化CH376 */

{

UINT8res;

CH376_PORT_INIT( );  /* 接口硬件初始化 */

xWriteCH376Cmd( CMD11_CHECK_EXIST );  /* 测试单片机与CH376之间的通讯接口 */

xWriteCH376Data( 0x65 );

res = xReadCH376Data( );

//xEndCH376Cmd( );  // 并口方式不需要

if ( res != 0x9A ) return( ERR_USB_UNKNOWN );  /* 通讯接口不正常,可能原因有:接口连接异常,其它设备影响(片选不唯一),串口波特率,一直在复位,晶振不工作 */

xWriteCH376Cmd( CMD11_SET_USB_MODE );  /* 设备USB工作模式 */

xWriteCH376Data( 0x05 );

mDelayuS( 20 );

res = xReadCH376Data( );

//xEndCH376Cmd( );  // 并口方式不需要

if ( res == CMD_RET_SUCCESS ) return( USB_INT_SUCCESS );

else return( ERR_USB_UNKNOWN );  /* 设置模式错误 */

}



另外,应用例程沁恒已经给出了,直接拿过来改就好了,不用自己多做繁琐的处理。刚才所说的函数在para_hw.c里,例程在沁恒官网直接搜索CH376,找到相关的EVT.ZIP文件下载即可


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