TH1=TL1= -(FOSC/12/32/BAUD)那个负号啥意思哦?一直这样用但是都...

2020-01-26 12:52发布

void InitUart()
{
        SCON = 0x5a;                        
        TMOD |= 0x20;                       
    TH1 = TL1 = -(FOSC/12/32/BAUD);   
    TR1 = 1;                           
}
一直都这样用  但是不知道啥意思哦
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
绿茶山人
1楼-- · 2020-01-26 23:57
ibichao 发表于 2013-5-18 20:18
负数在计算机里是用补码表示的,即原码的反码再加一,如果是8位的变量,-3在计算机里表示为:256-3 = 253。 ...

正解!一般写的时候还是写成256-(FOSC/12/32/BAUD),到加(FOSC/12/32/BAUD)到256溢出,感觉要好理解一点。
myh_hh
2楼-- · 2020-01-27 03:08
 精彩回答 2  元偷偷看……
ibichao
3楼-- · 2020-01-26 13:18
 精彩回答 2  元偷偷看……
ahuang227
4楼-- · 2020-01-26 16:24
是不是0xFF-(a)的意思啊?
3050311118
5楼-- · 2020-01-26 16:47
ahuang227 发表于 2013-5-18 18:59
是不是0xFF-(a)的意思啊?

不知道啊 得研究下  
huangdog
6楼-- · 2020-01-26 18:38
负值不就是按补码来表示的吗~

一周热门 更多>