![]() |
發布時間: 2024-3-17 21:40
正文摘要:這幾天又在一邊抄著代碼一邊學。而頭文件在很多時候是沒有太多留意的。但這里我抄著的時候就出了點問題。比如這個帖子的基于51單片機籃球計分器12864顯示仿真及源程序 - 51單片機 (51hei.com) 當我復制黏貼后...報 ... |
'Count':'Attack_Time_sec'這些變量沒有定義啊 |
變量調用前先定義,分全局,局部。要清楚的。 |
實在找不到定義的范圍,你可以自己前往去定義對應變量 |
wannenggong 發表于 2024-3-18 22:07 單片機的書沒標(可能是默認知道),而C/C++書里只標了char,int,float,double, 而void,enum,struct,union有提到,但書中幾乎沒怎么用過。我這書該不會買太久了? |
建議樓主翻看下書前面的內容,找找應該有“數據類型”的介紹,看看C語言編程的那些數據的書寫格式、位數、值域這些,應該有一個表格可以查看,而后就會知道char、int、unsigned char、unsigned int----這些是咋回事了,如果你的書里沒有可以百度了解下。 |
emm,也就是說,.h文件是別人建的代碼庫。而我這里是沒有的。因此在源代碼中我需要自己重新寫各種結構體來應用(因為這是別人的頭文件里已經包含了的。)在以后覺得寫的好的代碼也可以自己建個庫來用,在以后要用到的時候寫個頭文件就能直接應用了?是這個意思吧?我再摸摸![]() ![]() |
首要任務是:搞明白.H文件是怎么來的,和.C文件有什么關系... 搞明白之后,你的問題就不是問題了。 |
undefined identifier 未定義標識符(編程術語) |
示例代碼不完整,LCD1602.h并非系統文件,而是自己寫的,你顯然沒有這個文件。 |
反正是學習,沒搞懂之前就不要一下子抄太多,從最少的代碼 慢慢學,一句一句的,一行一行的搞明白代碼的意思和作用。 除了芯片本身的頭文件,其它的頭文件都不是必須的,你可自己 寫函數,等函數寫多了,你可以把自己寫的函數歸納到一個文件 中做成自己的頭文件引用到代碼中。 然后你就能看得懂別人的代碼,如果發現有比自己寫得好的代碼 可一小段一小段的抄。別人的代碼不一定全是好的,真正好的代 碼很少有就這么放在網上給人抄的。 |
樓主應該得明白,這是基礎的、C語言的知識范疇。 |
原貼代碼不全,你自己定義就行了,比如unsigned char BF_flag; |
12864.C(14): error C202: 'BF_flag': undefined identifier 而剩下的報錯都是這些未定義。那么該怎么查需要調用的頭文件? 很多時候只是抄,完全不清楚什么時候要調用什么頭文件, 以及我這次該怎么處理,沒什么頭緒 (發帖時手滑了,主樓不小心發出去了) |