void delay_us(void)//8us
{
_asm("nop"); // per 0.5us
_asm("nop");
_asm("nop");
_asm("nop");
}
void HT12D_W(void)
{
unsigned int x, i,j,temp=0x77F;
for(i=0;i<3;i++)
{
for(j=0;j<12;j++)
{
Trans=(temp&0x001);
temp=temp>>1;
delay_us();
}
}
}不能控制ht12d呢 那位大神帮忙看下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
问题确实是出在Trans=(temp&0x001);上但是不是你说的这个问题,因为Trans是IO口的定义,所以逻辑不能直接判断,另外,0x000是十六进制,>>这样的方式是向右进移位,谢谢回帖
一周热门 更多>