|
下面这第二种写入为什么写不进去... 原来用汇编写的时候也是这样,为什么,进行了一次if判断就打断写时序了吗? // 第一种写法,成功写入,k是循环变量 for (k = 0; k < 8; ++k) { if ((com>>k) & 0x01) { DQ = 0; _nop_(); _nop_(); DQ = 1; dely60us(); } else { DQ = 0; dely60us(); DQ = 1; _nop_(); _nop_(); } } // 第二种写法,失败,估计一个Bit也写不进去.. for (k = 0; k < 8; ++k) { DQ = 0; _nop_(); _nop_(); if ((com>>k) & 0x01) DQ = 1; dely60us(); _nop_(); _nop_(); } |
|