现象排除了,但是问题还没有解决办法
原来把CPU频率降下来就好了,60M是极限,75M就不行了. 那么有什么办法可以让我的CPU跑在100M 而D12照常用呢?
static void delayUSB(void) { unsigned int delayxblag; for(delayxblag=100;delayxblag>0;delayxblag--) {} }
#define SendD12Cmd(value) XBYTE[0x8009] = (value);delayUSB(); #define SendD12Data(value) XBYTE[0x8008] = (value);delayUSB(); #define GetD12Data XBYTE[0x8008]
我的程序里有这一段,事实证明这样还不够. 但是我分析以上现象,PC能认识我的设备,说明我的D12能承受到100M的频率,并且能在100M的时候很好的把数据发上去,也能很好的响应PC的各种请求.但是可能相应快了一点,也许某一些请求之间要求有一定的时间间隔.
当然还有一个解决办法,就是对D12操作的时候把时钟改慢一些. |
|