阅读:1438回复:3
关于D12的一次只往缓冲区写一个字节数据的问题(40分求教!)
各位大侠,小弟请教!
我现在的要求是一次只向D12的缓冲区写一个字节数据,然后判断是否写满,写满就使缓冲区有效。而不象周立功的参考代码那样一次从EpBuf中写64字节到缓冲区,再让它有效。测试代码如下 if(bytecount==0) { *((unsigned char xdata *) 0xff03) = 5; i=*((unsigned char xdata *) 0xff02); *((unsigned char xdata *) 0xff03) = 0xF0; *((unsigned char xdata *) 0xff02) = 0; *((unsigned char xdata *) 0xff02) = 64; bytecount++; } else { // *((unsigned char xdata *) 0xff03) = 0xF0; *((unsigned char xdata *) 0xff02) = 0x30; bytecount++; if(bytecount==65) { *((unsigned char xdata *) 0xff03) = 0xFA; bytecount=0; } } 其中bytecount为计数的全局变量,初始化为0 但BUS HOUND读到的数据内容都是00,这是什么原因,我该怎么写,在代码逻辑上我想应该没什么问题吧,是不是D12根本就不能这样用,还是有什么东西我没注意到,请高手不吝指正。多谢了! |
|
沙发#
发布于:2004-11-12 16:52
你这个程序有大问题,没有实现循环。
|
|
板凳#
发布于:2004-11-14 00:46
首先感谢楼上这位大侠的回复。
光靠上面这段代码当然不能实现循环啦!这只是循环在某一次中的实现代码,在它的外面当然还有循环判断语句啦!只是我没贴出来,因为我想问的只是这样一次写一个字节到D12的缓冲区中能不能实现。我试着好象不行。问了周立功的技术支持,他们也不知道行不行,只说让我试试看。我看估计是不行的了。 不过问题解决了,我用了另一种方法实现了这个功能,呵呵! :D :D |
|
地板#
发布于:2004-11-17 14:38
怎么解决的,我也要用到例似的情况,hxdlmnhx1@sina.com.cn
|
|