[求助]ch375test

test的作用是什么? 他是自动上传和下传数据的吗?我没有上传和下传,且每次数据不一样。 单片机程序使用frm框架可以吗? 如果以上是对的,为什么我使用debug372点下传一个字节10后,再点上传就没反应了?

PC先下传数据到单片机,单片机然后取反上传给PC,参考TEST\MCU里的例子,这是TEST的操作流程,debug372点下传一个字节10后,点上传应该会读到数据!没反映就是没读到数据,检查你的单片机程序。


我现在直接在下传中断中上传一个字节数据,还是收不到


需要看下你单片机程序是怎么写的,是否可以把中断函数部分贴出来看下


void CH375_Init( void ) { UINT8 i;

#ifdef MY_USB_VENDOR_ID #ifdef MY_USB_PRODUCT_ID CH375_WR_CMD_PORT( CMD_SET_USB_ID ); CH375_WR_DAT_PORT( (UINT8)MY_USB_VENDOR_ID ); CH375_WR_DAT_PORT( (UINT8)(MY_USB_VENDOR_ID>>8) ); CH375_WR_DAT_PORT( (UINT8)MY_USB_PRODUCT_ID ); CH375_WR_DAT_PORT( (UINT8)(MY_USB_PRODUCT_ID>>8) ); #endif #endif CH375_WR_CMD_PORT( CMD_SET_USB_MODE ); CH375_WR_DAT_PORT( 2 ); for ( i=100; i!=0; i-- ) if ( CH375_RD_DAT_PORT( ) == CMD_RET_SUCCESS ) break; if ( i == 0 )P1=0x03;

#ifdef ENABLE_USB_SUSPEND CH375_WR_CMD_PORT( CMD_CHK_SUSPEND ); CH375_WR_DAT_PORT( 0x10 ); CH375_WR_DAT_PORT( 0x04 ); #endif #ifdef __C51__ IT0 = 0; IE0 = 0; EX0 = 1; #endif }

UINT8 UsbLength; UINT8 UsbBuffer[ CH375_MAX_DATA_LEN ];

void mCH375Interrupt( void ) interrupt 0 using 1 { UINT8 IntStatus; UINT8 cnt; PUINT8 buf; *buf=0; CH375_WR_CMD_PORT( CMD_GET_STATUS ); IntStatus = CH375_RD_DAT_PORT( ); /* IE0 = 0; switch( IntStatus ) { case USB_INT_EP2_OUT: CH375_WR_CMD_PORT( CMD_RD_USB_DATA ); UsbLength = cnt = CH375_RD_DAT_PORT( ); if ( cnt ) { buf = UsbBuffer; do { *buf = CH375_RD_DAT_PORT( ); P1=*buf; buf ++; } while ( -- cnt ); } else break; CH375_WR_CMD_PORT( CMD_WR_USB_DATA7 ); cnt = UsbLength; if ( cnt ) { CH375_WR_DAT_PORT( cnt ); buf = UsbBuffer; do { CH375_WR_DAT_PORT(~*buf ); buf ++; } while ( -- cnt ); } else break; break; case USB_INT_EP2_IN: CH375_WR_CMD_PORT( CMD_UNLOCK_USB ); break; case USB_INT_EP1_IN: CH375_WR_CMD_PORT( CMD_UNLOCK_USB ); break; case USB_INT_EP1_OUT: CH375_WR_CMD_PORT( CMD_UNLOCK_USB ); break; #ifdef ENABLE_USB_SUSPEND case USB_INT_USB_SUSPEND: CH375_WR_CMD_PORT( CMD_UNLOCK_USB ); CH375_WR_CMD_PORT( CMD_ENTER_SLEEP ); break; case USB_INT_WAKE_UP: CH375_WR_CMD_PORT( CMD_UNLOCK_USB ); break; #endif default: CH375_WR_CMD_PORT( CMD_UNLOCK_USB ); break; } }

初始化中不能返回初始化成功命令,单片机P1口为03.D0~D7口为高。这是什么原因


好好检查你的硬件。 CH375_RD_DAT_PORT(),CH375_WR_CMD_PORT,CH375_WR_DAT_PORT这几个函数是怎么写的?


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