微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > stm8模拟ht12e向HT12D发码

stm8模拟ht12e向HT12D发码

时间:10-02 整理:3721RD 点击:
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呢 那位大神帮忙看下

temp=0x77F,是八进制,然后向左一位,高位是致0吧。Trans应该是全局变量,其他的都是局部变量,返回的是空值。也就是通过不断延时,不断循环,最后是要改变Trans值,然后主函数再调用这个值。再仔细看看是不是 Trans=(temp&0x001);这个地方的值不咋地。

问题确实是出在Trans=(temp&0x001);上但是不是你说的这个问题,因为Trans是IO口的定义,所以逻辑不能直接判断,另外,0x000是十六进制,>>这样的方式是向右进移位,谢谢回帖

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top