MSP430串口学习中的疑惑

2019-03-24 10:28发布

..........
void main(void)
{
unsigned char value=0;
..........

while(1)
    {     
        while (!(IFG1 & UTXIFG0));
        TXBUF0 = value++;
       value &= 0x7f;                        // 保证value的数值小于128
        while (!(IFG1 & UTXIFG0));
        TXBUF0 = ' ';
        Delays();
    }
}
请问:在做MSP430单片机与PC的UART的实验中,MSP430单片机向PC写ASCII码的过程中,以上程序中的那个value&0x7f;就可以保证value的数值小于128,这个是如何实现的,如何算出来的呢,不太明白,肯请指教,具体说明下算法或实现的原理均可

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
MrKingMCU
2019-03-24 14:19
< :TI_MSP430_内容页_SA7 --> 楼上回复的是正确的,你要明白1&0=0,0&0=0,就行了。最高位是0,所以不管什么数,运算出来高位全是0,这样就一定小于128。低7位全是1,得出的结果低7位数字不变。

一周热门 更多>

相关问题

    相关文章