標(biāo)題:
單片機(jī)S2CON&=~S2TI; 請(qǐng)教大神
[打印本頁(yè)]
作者:
jackduan2018
時(shí)間:
2023-10-13 16:39
標(biāo)題:
單片機(jī)S2CON&=~S2TI; 請(qǐng)教大神
串口通訊里有這樣一個(gè)語(yǔ)句看不懂:S2CON&=~S2TI; 這條語(yǔ)句的目的是對(duì)寄存器 S2CON 的 S2TI位進(jìn)行軟件清零;
它是不是等價(jià)于: S2CON&(~S2TI); ?
S2CON 不支持位尋址,那這個(gè)語(yǔ)句怎么還可以這么寫(xiě)?這樣的操作得出來(lái)的結(jié)果會(huì)是什么 ?
求教大神,謝謝!
作者:
aking991
時(shí)間:
2023-10-14 08:43
S2TI定議時(shí)0x02,那對(duì)應(yīng)的bit.1是1,那~S2TI就是把這個(gè)對(duì)應(yīng)位取反即是0,值就等于0xFD,那么把S2CON這個(gè)0xFD相與,那么S2CON的bit.1也就是0,即是清發(fā)送標(biāo)志,那樣寫(xiě)沒(méi)毛病
作者:
joyb
時(shí)間:
2023-10-14 09:01
S2RI 定義為 0000 0001 即0x01
或者 sbit S2RI =S2CON^0//說(shuō)明S2RI是寄存器 S2CON中的第幾位
S2TI 定義為 0000 0010 即0x02
或者 sbit S2TI =S2CON^1
這樣 當(dāng)S2RI=1時(shí) S2CON&S2RI 即為非0
當(dāng)S2RI=0時(shí) S2CON&S2RI 即為0
作者:
jackduan2018
時(shí)間:
2023-10-14 13:40
謝謝各位大神
大神就是大神 不用看就知道定義過(guò)了
S2RI是SCON里的一個(gè)位
但是在頭文件里把S2RI定義成了0X02,我沒(méi)看頭文件,所以怎么看也看不明白
謝謝各位大神
作者:
powerdruy
時(shí)間:
2023-10-26 18:35
教你一個(gè)套路,可以用在不能位尋址的寄存器上,
比如MSP430的GPIO輸出寄存器
#define BIT0 0x01
#define BIT1 0x02
#define BIT2 0x04
#define BIT3 0x08
P0 |= BIT0;//P0.0置1,P0.0口輸出1
P1 &=~BIT3;//P1.3清0,P1.3口輸出0
復(fù)制代碼
作者:
圣博朗西斯
時(shí)間:
2023-10-27 09:55
那樣寫(xiě)的語(yǔ)法是沒(méi)問(wèn)題的。對(duì)于支不支持位尋址應(yīng)該還是支持位尋址吧,要不然會(huì)報(bào)錯(cuò)的或者你看一下程序里有沒(méi)有宏定義
作者:
jackduan2018
時(shí)間:
2025-2-14 08:26
powerdruy 發(fā)表于 2023-10-26 18:35
教你一個(gè)套路,可以用在不能位尋址的寄存器上,
比如MSP430的GPIO輸出寄存器
謝謝大神,學(xué)習(xí)了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1