標(biāo)題:
C語(yǔ)言編程遇到了宏定義的問(wèn)題,求解答,萬(wàn)分感謝
[打印本頁(yè)]
作者:
shijimiaopu
時(shí)間:
2019-3-21 17:16
標(biāo)題:
C語(yǔ)言編程遇到了宏定義的問(wèn)題,求解答,萬(wàn)分感謝
程序是初始化一塊OLED
貼出來(lái)如下
void Initial_ic(void)
{
IOCLR=0xffffffff;
IOSET=bBS1|bBS2|bRES|bCS|bE_RD;
IOCLR=bD_C|bR_W;
Reset_SSD1331Z();
Write_Register(0xae); //Display off
Write_Register(0x81); //set contrast for colorA
Write_Register(0x91); //145
Write_Register(0x82); //set contrast for colorB
Write_Register(0x50); //80
Write_Register(0x83); //set contrast for colorC
Write_Register(0x7d); //125
Write_Register(0x87); //master current control
Write_Register(0x06); //6
Write_Register(0x8a); //Set Second Pre-change Speed For ColorA
Write_Register(0x64); //100
Write_Register(0x8b); //Set Second Pre-change Speed For ColorB
Write_Register(0x78); //120
Write_Register(0x8c); //Set Second Pre-change Speed For ColorC
Write_Register(0x64); //100
Write_Register(0xa0); //set re=map &dataformat
Write_Register(0x74);
Write_Register(0xa1); //set display start line
Write_Register(0x00);
Write_Register(0xa2); //set display offset
Write_Register(0x00);
Write_Register(0xa4); //set display mode
Write_Register(0xa8); //set multiplex ratio
Write_Register(0x3f);
Write_Register(0xad); //set master configuration
Write_Register(0x8e);
Write_Register(0xb0); //set power save
Write_Register(0x00);
Write_Register(0xb1); //phase 1 and 2 period adjustment
Write_Register(0x31);
Write_Register(0xb3); //display clock divider / oscillator frequency
Write_Register(0xf0);
Write_Register(0xbb); //Set Pre-Change Level
Write_Register(0x3a); //58
Write_Register(0xbe); //set vcomh
Write_Register(0x3e); //62
Write_Register(0xaf); //set display on
}
void Reset_SSD1331Z(void)
{
IOCLR=bRES;
Delay_1ms(10);
IOSET=bRES;
}
void Write_Register (unsigned char out_command)
{
IOCLR=bD_C;
IOCLR=bCS;
IOCLR=bR_W;
IOCLR=0x000000ff;
IOSET= out_command;
IOSET=bR_W;
IOSET=bCS;
}
void Write_Data (unsigned char out_data)
{
IOSET=bD_C;
IOCLR=bCS;
IOCLR=bR_W;
IOCLR=0x000000ff;
IOSET=out_data;
IOSETbR_W;
IOSET=bCS;
}
編譯錯(cuò)誤是
SSD1331.c(1241): error C202: 'IOCLR': undefined identifier
SSD1331.c(1242): error C202: 'IOSET': undefined identifier
SSD1331.c(1243): error C202: 'IOCLR': undefined identifier
這幾個(gè)錯(cuò)誤說(shuō)沒(méi)有定義,需要引用哪個(gè)文件能解決呢?
單片機(jī)入門(mén)小白,不恥下問(wèn),跪求大神,萬(wàn)分感謝。
作者:
new_hand
時(shí)間:
2019-3-21 18:52
這個(gè)是寄存器吧,找書(shū)冊(cè)看寄存器部分
作者:
zhb2004xp
時(shí)間:
2019-3-21 21:02
錯(cuò)誤提示和你描述的一樣,IOCLR和IOSET不管是什么,你既然引用了,就必須在引用之前進(jìn)行定義,至于你問(wèn)需要引用哪個(gè)文件,你這個(gè)程序從哪兒來(lái)的?你到哪兒找,除了寫(xiě)這個(gè)程序的人,名稱(chēng)、含義、庫(kù)函數(shù)大都是根據(jù)個(gè)人喜好進(jìn)行命名的,所以你的這個(gè)問(wèn)題別人解答不了。
從程序判斷,這兩個(gè)應(yīng)該定義的是引腳的IO接口
作者:
Jun默默淡定
時(shí)間:
2019-3-21 22:33
你的頭文件有沒(méi)有定義并且包含進(jìn)來(lái)?
作者:
ping264888
時(shí)間:
2019-3-22 08:24
看起來(lái)是控制的IO腳, 看看實(shí)際的電路定義一下就好.
作者:
zjjhtony
時(shí)間:
2019-3-22 10:21
SSD1331.c(1241): error C202: 'IOCLR': undefined identifier
SSD1331.c(1242): error C202: 'IOSET': undefined identifier
SSD1331.c(1243): error C202: 'IOCLR': undefined identifier
這個(gè)需要看你的硬件連接,IOCLR接單片機(jī)的哪個(gè)引腳,就定義哪個(gè)?
如#define IOCLR P2^2
如果程序是別人的,可能硬件連接不一樣,一定要按照自己的電路板來(lái)定義,不然編譯正確了,功能也是不對(duì)的。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1