1樓:矮子根
不知你是怎麼弄的,我照你的樣式重複了一遍也沒有報錯,請照下圖認真檢查:
另外注意:你在兩個檔案裡定義的beep 和 beep 是不一樣的,這才是錯誤的原因。
2樓:匿名使用者
這個告警是告訴你沒有實現函式吧。你應該把這個函式的主體在.c裡實現。
3樓:微控制器的戰鬥機
你看看定義的函式名一樣嗎?
4樓:匿名使用者
對於c語言的標頭檔案來說,通常情況下是使用#include+檔名語句進行引用。
格式如下:
#include
或#include "mylib.h"
使用 #include時,使用引號與尖括號的意思是不一樣的。使用引號」」時,首先搜尋工程檔案所在目錄,然後再搜尋編譯器標頭檔案所在目錄。所以對於使用者自定義標頭檔案來說,通常使用雙引號。
而使用尖括號》時,剛好是相反的搜尋順序。所以對於編譯系統提供的標頭檔案來說,通常使用尖括號。
例:假設我們有兩個檔名一樣的標頭檔案 hardware.h ,但內容卻是不一樣的。
一個儲存在編譯器指定的標頭檔案目錄下,我們把它叫做檔案i ,另一個則儲存在當前工程的目錄下,我們把它叫做檔案 ii 。
如果我們使用的是# include ,則我們引用到的是檔案 i。如果我們使用的是#include 「hardware.h」,則我們引用的將是檔案 ii 。
微控制器c語言程式設計中標頭檔案中包含的51.h和52.h有什麼區別 任何不同都行
5樓:匿名使用者
reg52.h 用於
來52微控制器
源reg51.h 用於51微控制器
不同在於52微控制器功能多一點,所以多bai幾個寄du存器比如多一個定時器zhi
/* 8052 extensions */sfr t2con = 0xc8;
sfr rcap2l = 0xca;
sfr rcap2h = 0xcb;
sfr tl2 = 0xcc;
sfr th2 = 0xcd;
sbit p = psw^0; //8052 onlysbit et2 = ie^5; //8052 only/* p1 */
sbit t2ex = p1^1; // 8052 onlysbit t2 = p1^0; // 8052 only這就是所有dao52比51多的暫存器了,具體的你可以自己開啟兩個檔案去看看哈。
關於 c語言 標頭檔案 51微控制器 reg52.h 的問題
6樓:匿名使用者
這些是預編譯指令。加上這個的目的是為了避免只能包含一次的標頭檔案被多次包含
7樓:匿名使用者
防止標頭檔案被重bai復包含出現
du重定義的問題。
首先同zhi一個變數被定dao義2次肯定是一個問題,專比如const int32_t l_age = 20;
const int32_t l_age = 30;
使用屬#ifndef __reg52_h__#define __reg52_h__
sfr xx = yy;
.....
.....
#endif
的格式可以避免出現類似問題。
假定 a.h中有#include
假定b.h中有#include
假定c.h中
#include
#include
假定c.c中
有#include
為#ifndef __reg52_h__
#define __reg52_h__
sfr xx = yy;
.....
.....
#endif
#ifndef __reg52_h__
#define __reg52_h__
sfr xx = yy;
.....
.....
#endif
因為之前有過_reg52_h_的巨集定義
所以下一個#ifndef __reg52_h__直接跳過,這個解決了這個重複定義的問題。
51微控制器c語言程式設計能給位賦值麼?
8樓:追夢幽白
keil的話可以。開啟你的reg51(或reg52等)標頭檔案,你就會看到已經宣告的位變數,
格式是:sbit 位變數名=sfr名^位地址值 (p3也是標頭檔案中最開始部分宣告的)
標頭檔案中有
sbit wr=p3^6;
所以你直接寫 wr=1就行了
9樓:
c語言中不能直接給二進位制某一位賦值
但是可以通過按位操作來實現
如果你的p3是整型或者字元型的變數,可以通過「按位或」對某一位賦1,通過「按位與」對某一位賦0
p3=p3|0x40;//這樣就是在不改變其他位的同時給第6位賦10x40轉換成二進位制位01000000
假如:p3的值為10110010
10110010
| 01000000結果為 11110010
10樓:匿名使用者
是可以的 雙擊錯誤資訊 到那一行看看上下有沒有錯
微控制器C語言程式設計,51微控制器C語言程式設計
使用兩個定時器或一個定時器中使用兩個計數都能滿足你的要求。建議使用一個定時器和一個計數器即可,如計數器為i,則if i 測溫定時 0 溫度測量 if i 步進電機定時 0 步進電機控制 注 此時要求兩個控制模組的定時步長是一致,比如都是1ms 設定一個比較小的定時間隔,例如1ms,用靜態變數累加,比...
微控制器C語言程式設計,微控制器C語言程式設計題
按你的程式的結構,不做大的變動,又能理解的方法 四個程式合併成一個,當然就只能有一個主程式了,一個while 1 了,凡是while 1 以上的程式只保留一個就行了。四個程式的while 1 以下的都合併寫在一個while 1 下面,分為四段。有四個按鍵,判斷按鍵被按下的程式會寫吧?那判斷每個按鍵的...
C 微控制器高手,微控制器為什麼不用C 語言程式設計呢
相信很多初學者都有同樣的疑問,也有同樣的希望。就是用c 語言來寫微控制器程式的源 現在我來解釋一下微控制器的源 程式幾乎沒有人用c 來寫的。1.假設一下你現在用c 寫完了一個程式 那麼你要讓微控制器認識必須要編譯吧,對吧 請問你有合適的編譯軟體來編譯你的 嗎?2.就算有編譯器能編譯,你能保證它的 效...