嵌入式軟體學習記錄

2021-10-24 20:30:14 字數 984 閱讀 6335

資料型別

**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,以及在涉及到應用軟體之前的各種系統安全 然而我碰到的許多任務程師仍然使用斷點來除錯軟體,而沒有...