上午给沁恒公司打电话 关于我上个帖子里 技术告诉我说判断sizeof(RxBuf)是错误的 需要在采集数据的中断中设置标志位 通过标志位判断RxBuf是否有数据 下午试了试 还是不行 将程序Down进板子后 插上U盘 初始化成功 但是不往里写 拔下后 再插上 开始写 没有空写u盘的情况发生 但是一直在重复写采集到数据的最后一组数据 然后才开始写应该写的数据 中间有误码 这是376写U盘代码 strcpy(TarFileName,"/NEW.TXT"); s=CH376FileCreate(TarFileName); while(shuju==1) { s=CH376FileOpen(TarFileName); if(s==USB_INT_SUCCESS) { CH376ByteLocate(0XFFFFFFFF); } CH376ByteWrite(RxBuf,ThisLen,NULL); CH376FileClose(TRUE); ByteCount +=ThisLen; } UnknownUsbDevice: while ( CH376_DiskConnect( ) == USB_INT_SUCCESS ) { Delayms( 100 ); } 附上我的中断服务函数 大侠给看一下 P2.7是接我数据采集芯片中断管脚的 配置正确 #pragma vector=PORT2_VECTOR __interrupt void PORT2_ISR(void) { unsigned char sta; P2IFG &= ~BIT7; P2IE &= ~BIT7; RECEVIE_ON(); sta = nRF24L01_RW_Reg(READ_REG+STATUS,0); if(sta&0x40) //RX_DR { CE_LOW(); nRF24L01_Read_Buf(RD_RX_PLOAD, RxBuf, PLOAD_WIDTH); shuju=1; } else { _NOP(); shuju=0; } nRF24L01_RW_Reg(READ_REG+STATUS,sta); nRF24L01_RW_Reg(WRITE_REG+STATUS,0XFF); nRF24L01_FlushRX(); P2IE |= BIT7; }
查看: 2329
回复: 1
[求助]376写u盘问题(2)
fromdoctor
发表于: 2012-07-11 16:39:00
热门产品 :
CH592: RISC-V内核BLE5.4无线MCU
您单次写U盘数据程序没问题,您也写进去了,至于你什么时候写写什么您得自己处理您的程序,CH376不会有误码的,除非你RxBuf数据不是您想要的数据,您可以每次写数据前把RxBuf的数据通过串口打印出来,看是不是您想要写的数据
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录