我用串口方式,USB主机模式,做块板子。实现单片机读取U盘数据。可我在程序初始化CH375事失败了。我用示波器测量发现,CH375的晶振正常,工作电压也正常,可是我把程序烧进去的时候,在程序中初始化CH375芯片(想必同时也对CH375进行复位吧),可是我用示波器测试其INT#管脚,却没有出现过低电平。正常情况下,不是初始化CH375芯片的情况下会出现INT#输出低电平的吗?我的CH375到底怎么了?
以下是我的简单测试CH375识别U盘程序: main() { UINT8 i; PORTA = 0x00;//单片机A端口初始化 DDRA = 0xFF; PORTC = 0xFF;//单片机C端口初始化 DDRC = 0xFF; init_lcd(); init_lcd(); mInitSTDIO( ); LCD_write_string(0,0,"Start" ); mDelaymS( 100 ); mDelaymS( 100 ); mDelaymS( 100 ); mDelaymS( 100 ); i = CH375LibInit( ); /* 初始化CH375程序库和CH375芯片,操作成功返回0 */ mStopIfError( i ); /* 其它电路初始化 */ xWriteCH375Cmd( 0x06 ); /* 测试CH375是否正常工作 */ xWriteCH375Data( 0x55 ); /* 写入测试数据 */ i = ~ 0x55; /* 返回数据应该是测试数据取反 */ if ( xReadCH375Data( ) != i ) { /* CH375不正常 */ LCD_write_string(0,0,"wrong" ); for ( i=80; i!=0; i-- ) { xWriteCH375Cmd( 0x05 ); /* 多次重复发命令,执行硬件复位 */ } } else LCD_write_string(0,0,"right" ); }