WCH沁恒单片机
直播中

yqdedli

8年用户 909经验值
擅长:控制/MCU
私信 关注
[问答]

请问初始化CH375为主机模式时,CH375一直无数据返回给单片机是什么原因?

请问初始化CH375为主机模式时,CH375一直无数据返回给单片机是什么原因?无论写入什么命令,都无数据返回。


void CH375_WR_CMD_PORT( unsigned char cmd ) {
u8 aCmd;
if(USART_GetFlagStatus(USART2, USART_FLAG_TXE)!=RESET)
{
aCmd = 0x100 | cmd;
USART_SendData(USART2, aCmd);
delay_us(200);
}
}


void CH375_WR_DAT_PORT( unsigned int dat ) {  
unsigned int aData;
if(USART_GetFlagStatus(USART2, USART_FLAG_TXE)!=RESET)
{
aData = 0xff & dat;
USART_SendData(USART2, aData);
delay_us(200);
}
}


unsigned int CH375_RD_DAT_PORT() {  
unsigned int dat;
while(USART_GetFlagStatus(USART2,USART_FLAG_RXNE)==RESET);
dat = USART_ReceiveData(USART2);
USART_ClearFlag(USART2,USART_FLAG_RXNE);
return(dat);
}






unsigned char mWaitinterrupt() {  
unsigned char c;
CH375_INT_WIRE=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1);
while( CH375_INT_WIRE );  
CH375_WR_CMD_PORT( CMD_GET_STATUS );  
c = CH375_RD_DAT_PORT( );  
if ( c == USB_INT_DISCONNECT ) mDeviceOnline = 0;
else if ( c == USB_INT_CONNECT ) mDeviceOnline = 1;
return( c );
}






unsigned charmCH375Init( )
{
unsigned chari,c;
CH375_WR_CMD_PORT( CMD_SET_USB_MODE );
CH375_WR_DAT_PORT( 6 );
for ( i = 0xff; i != 0; i -- ) {
c = CH375_RD_DAT_PORT( );
if ( c == CMD_RET_SUCCESS ) break;
}
if ( i != 0 ) return( TRUE );  
else return( FALSE );
}


  

回帖(9)

赵娜

2022-7-13 10:44:57
晶振是否起振?V3引脚在电源电压为5V时通过103电容接地,在3.3V供电时,直接连接到3.3V电源上
举报

王苑苑

2022-7-13 10:45:06
晶振已经起振,V3引脚是直接连接到3.3V电源上的,我用三线制,INT引脚是必须要接地或者低电平吗,然后这CH375是可以用3.3V供电吧
举报

赵勇

2022-7-13 10:45:11
下面代码为ch375部分设置,在 c = CH375_RD_DAT_PORT( );  这句一直无法通过,因为无法获取返回值,就一直处理等待状态。


        CH375_WR_CMD_PORT( CMD_SET_USB_MODE );
CH375_WR_DAT_PORT( 6 );  
delay_us(20);
CH375_WR_CMD_PORT( CMD_CHECK_EXIST );
CH375_WR_DAT_PORT( 0x55 );  
c = CH375_RD_DAT_PORT( );  
if ( c != 0xaa ) {  
for ( i = 100; i != 0; i -- ) {  
CH375_WR_CMD_PORT( CMD_RESET_ALL );
c = CH375_RD_DAT_PORT( );
}
delay_ms(50);
}
举报

薛珊珊

2022-7-13 10:45:16
邮件上:软件上,R引脚配置成浮空?INT脚配置成特殊功能脚?  修改一下。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分