標(biāo)題: 請(qǐng)教一下,學(xué)習(xí)單片機(jī)比較器是遇到這種情況是什么原因? [打印本頁(yè)]

作者: 木示    時(shí)間: 2023-5-6 15:55
標(biāo)題: 請(qǐng)教一下,學(xué)習(xí)單片機(jī)比較器是遇到這種情況是什么原因?
在學(xué)習(xí)STC8G單片機(jī)的比較器時(shí),出現(xiàn)了手冊(cè)里明明有那個(gè)位,寫(xiě)到程序上,卻提示,找到不呢?這是什么原因?

111.png (39.03 KB, 下載次數(shù): 42)

STC的例子

STC的例子

2.png (88.39 KB, 下載次數(shù): 42)

STC8G手冊(cè)

STC8G手冊(cè)

33.png (259.7 KB, 下載次數(shù): 37)

STC8G手冊(cè)

STC8G手冊(cè)

作者: Hephaestus    時(shí)間: 2023-5-6 18:54
沒(méi)有包含相關(guān)的頭文件,c語(yǔ)言自身沒(méi)有定義過(guò)任何一個(gè)位,都是在頭文件里面定義的。
作者: coody_sz    時(shí)間: 2023-5-6 21:09
原因很簡(jiǎn)單,因?yàn)镃MPCR1、CMPCR2都是不可位尋址的,CMPO_S也不可位尋址,應(yīng)該用邏輯操作:
P_SW2 |= (1<<3);   //選擇P4.1做比較器輸出腳
P_SW2 &= ~(1<<3);   //選擇P3.4做比較器輸出腳
CMPCR1 |= 0x80;   //允許比較器
作者: 18701931930    時(shí)間: 2023-5-6 21:11
有的寄存器不支持位操作的,去看看頭文件有沒(méi)有聲明吧。
作者: 188610329    時(shí)間: 2023-5-6 21:14
P_SW2  |= 0x80;
作者: 188610329    時(shí)間: 2023-5-6 21:17
仔細(xì)看手冊(cè), CMPO_S = 0; 是非法的,要用
P_SW2 &= 0xF7;    //CMPO_S:   P3.4
P_SW2 |= 0x08;    //CMPO_S:   P4.1
作者: yzwzfyz    時(shí)間: 2023-5-9 09:54
手冊(cè)上有,不代表編譯平臺(tái)就認(rèn)識(shí)。
你要告訴編譯平臺(tái)CMPO_S是什么?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1