資料型別
**int、char、short、long、float、double**
x86編譯器中char 1個位元組、int 2個或4個位元組、long 4個或8個位元組、short 2個位元組、float 4個位元組、double 8個位元組
如:char為1byte=8bit,即28=256,儲存最大為256,
int 如果為2byte=16bit,即216=65536,儲存最大為65536
**unsigned、signed**
signed:有符號,通常表示數字,最高位是符號位
unsigned:無符號,通常表示資料,最高位是資料
如:char a=-1,a>>1,不可以移到0,因為在乙個位元組中8個bit,最高位永遠是符號位,佔據乙個位置
unsigned char b =-1;b>>1,可以移動到0,因為最高位是資料,無佔據位置
**struct**
自定義資料型別,結構體,記憶體,是元素之間位元組的和
例:struct myabc
; //此為定義名稱
struct myabc mybuf //此為記憶體化,之後用mybuf
**union**
共用體,共用起始位址的一段內容
union myabc;
union myabc abc; //用abc可以訪問這樣型別的記憶體
**typedef**
資料型別的別名
如:int a; a是乙個int型別的變數
typedef int a; a是乙個int型別的外號
typedef通常用***_t,如typedef定義a_t
什麼型別 變數名稱
如char *name_t; name_t是乙個指標,指向了乙個char型別的記憶體
typedef char *name_t; name_t是乙個指標型別的名稱,指向了乙個char型別的記憶體
name_t abc;
嵌入式學習記錄
1.volatile volatile是宣告該變數是易變的,編譯器把常用的值放在暫存器裡了,所以用的時候,直接在暫存器裡取上一次用的值了 可是因為這個變數是易變的,所以可能這有暫存器的優化處理會帶來錯誤,因此加上volatile告訴編譯器這個變數是易變的,必須每次使用都即時的去改變量的記憶體中讀取,...
學習嵌入式軟體的歷程
要說我的嵌入式歷程,還要從去年 11月份開始,因為在研究生開了一門接 術課程,再加上本科學習了 51系列微控制器的基本原理,所以想找乙份這方面的兼職歷練自己。到了週末,我就跑人才招聘會投簡歷去。由於工作經驗的匱乏,很少合適的崗位選擇。跑了幾次,得到了乙個面試,應聘微控制器硬體方面的吧,人家問我,懂不...
學習除錯實時嵌入式軟體
原文 learn to debug real time embedded software嵌入式軟體開發人員面臨的最大的挑戰就是除錯軟體。嵌入式系統現在變得非常複雜,上面執行著實時作業系統 連線棧 usb,以及在涉及到應用軟體之前的各種系統安全 然而我碰到的許多任務程師仍然使用斷點來除錯軟體,而沒有...