我在程序中只写了一个初始化,pc可以识别,然而在循环中添加了其他程序却识别不了了。请大虾支招!谢谢
应该不会啊!在设置好模式之后就可以操作了啊!是不是你的程序有问题啊,你可以将程序发过来我们看下
void main(void) { delay1s(); //延时等待CH375初始化完成,如果单片机由CH375提供复位信号则不必延时 CH375_Init(); //初始化CH375 EOC=1; while(1) { adc0809_sev(); CH375_WR_DATA_BLK(getdata); if( CH375_INT_WIRE==0 ) // 从USB设备接收到数据 { mCh375Interrupt(); } } } 上面是主程序 其中的两个函数是我自己写的 void adc0809_sev(void) { uchar Up_length; uint get=0; ST=0; ST=1; ST=0; while(EOC==0); OE=1; getdata=P1; OE=0; get=getdata;//getdata 设为全局变量 }
void CH375_WR_DATA_BLK(uchar Up_data)// 向USB端点2的发送缓冲区写入数据块 { uchar Up_length; CH375_WR_CMD_PORT(CMD_WR_USB_DATA7);//命令向USB端点2的发送缓冲区写入数据块 Up_length=1;//只写入一个字节的数据(0809采集的电压) CH375_DATA_PORT=Up_length;//首先写入数据长度 CH375_WR_DAT_PORT(Up_data);//写入数据到CH375 } 上面这个函数我只用来发送一个字节的数据 其它的函数我都是根据例子稍微改了一下 现在我上面两个函数屏蔽掉任何一个就可以识别,但是两个都用的话却不能识别 不知道是为什么?我0809和usb的中断都是用查询方法
你下面的那个程序即使你是能识别的,那你也上传不上去,你可以参考我们的TEST。C的例子程序或者你将你的程序全部发到我们技术信箱: tech@wch.cn 到时候给你发一个例子程序过去,你可以参考
谢谢!我发了邮件了!期待回复