![]() |
發(fā)布時間: 2024-6-25 20:35
正文摘要:#define dataIO P0; //宏定義 dataIO為P0 void write_com(uchar com) { e=0; rs=0; &n ... |
宏定義帶分號導(dǎo)致錯誤, dataIO= 0xff; 等效于 P0; = 0xff; P0后有分號,所以錯誤了。 |
mirvv 發(fā)表于 2024-6-26 08:53 不絕對的。 如果: #define set_clk() SPI_CLK=1; 這樣也可以,只是在調(diào)用時,不要再加“;”,直接set_clk()就沒問題。 好死不死,樓主的宏定義是針對IO口的,所以編譯器就認(rèn)錯了。 |
感謝以上:藍(lán)藍(lán)小星星, xiaobendan001 ,zhuls ,szqinyi ,ZSJM,MOVEORDIE ,123156fsadf,ID:890708 ,cy009以及所有壇友賜教,按大家的教法,去掉“;”后,問題已解決了。 |
Mxd51hei 發(fā)表于 2024-6-26 00:31 #define dataIO P0; 改成#define dataIO P0 P0;=0xff你看這句有沒有問題 |
#define 宏定義,行尾不帶分號 |
Mxd51hei 發(fā)表于 2024-6-25 22:49 C:\Users\W\Desktop\截圖_20240626085444.png |
Mxd51hei 發(fā)表于 2024-6-26 00:31 宏定義后面不能加分號,就是這個(;)你還是好好看看C語言在寫代碼吧 |
#define dataIO P0; 這句最后面的封號刪掉 |
宏定義不對吧? |
#define dataIO P0 后面不能帶" ; " |
P0后面去掉; #define dataIO P0 |
Mxd51hei 發(fā)表于 2024-6-26 00:31 暈 ![]() |
Mxd51hei 發(fā)表于 2024-6-26 00:31 define行的最后不要用; |
#define dataIO P0; “;” 去掉 |
還是不錯在哪和怎么改哦,我反復(fù)看定義格式,沒有發(fā)現(xiàn)格式錯誤呀 |
#define dataIO P0; #define 是宏定義,意思是替換,把“目標(biāo)”用“源”來替代,你的語句中,dataIO是“源”,“P0;”是目標(biāo), 所以,你現(xiàn)在知道如何改正了吧? |
請賜教該怎么改呢? |
的確是這里的問題,請指教該怎么改呢? |
你寫的是dataIO= 0xff; //提示這里附近有錯 編譯器看到的是P0;= 0xff; //提示這里附近有錯 |
Powered by 單片機(jī)教程網(wǎng)