很多的應用場景都使用C語言,作為一名從事微控制器C語言程式設計的工程師,和大家分析下這個基礎知識點的大學問。
在微控制器程式設計中,基本上常用的都是,unsigned char,unsigned int、unsigned long這三種類型,變數的定義不同的型別,就決定了位寬,也就決定了變數的資料範圍。
char 型別,是8位有符號資料型別,範圍是-128~127。
unsigned char 型別,是8位無符號的資料型別,範圍是0-255,總共256個數字。
int 型別, 16位有符號資料型別。範圍是-32768~32767。
unsigned int型別,是16位無符號資料型別,範圍是0-65535,總共65536個數字
unsigned long,是32位的資料,範圍是0-2^32。
在微控制器程式設計時候,需要根據設定變數的需求,選擇定義合適的變數型別。比如你想用的變數是超過255,就必須用unsigned int 型別。否則會出現異常。
在不同的微控制器平臺當中,unsigned char,unsigned int,unsigned long 代表的位寬會存在差異。這個與晶片的開發環境有關係.。比如在合泰微控制器的開發環境,unsigned int 型別是與unsigned char 是一樣的。都是8位寬度。 在windows 環境下開發,int型別就是32位寬度。所以需要具體平臺具體分析。
變數的型別,是微控制器C語言開發的基礎,如果不掌握,有可能設計出來的程式碼和想象中的不一樣。
雖然這是一個很簡單的技術基礎,但很容易被微控制器初學者,或者C語言程式設計初學者遺漏的知識點。在程式BUG除錯當中,對於初學者來說,也是經常遇到,希望大家都記住。
很多的應用場景都使用C語言,作為一名從事微控制器C語言程式設計的工程師,和大家分析下這個基礎知識點的大學問。
那麼C語言程式設計當中,定義的變數型別,決定了什麼?在微控制器程式設計中,基本上常用的都是,unsigned char,unsigned int、unsigned long這三種類型,變數的定義不同的型別,就決定了位寬,也就決定了變數的資料範圍。
char 型別,是8位有符號資料型別,範圍是-128~127。
unsigned char 型別,是8位無符號的資料型別,範圍是0-255,總共256個數字。
int 型別, 16位有符號資料型別。範圍是-32768~32767。
unsigned int型別,是16位無符號資料型別,範圍是0-65535,總共65536個數字
unsigned long,是32位的資料,範圍是0-2^32。
在微控制器程式設計時候,需要根據設定變數的需求,選擇定義合適的變數型別。比如你想用的變數是超過255,就必須用unsigned int 型別。否則會出現異常。
但在不同的開發平臺,類型範圍有可能不一致在不同的微控制器平臺當中,unsigned char,unsigned int,unsigned long 代表的位寬會存在差異。這個與晶片的開發環境有關係.。比如在合泰微控制器的開發環境,unsigned int 型別是與unsigned char 是一樣的。都是8位寬度。 在windows 環境下開發,int型別就是32位寬度。所以需要具體平臺具體分析。
變數的型別,是微控制器C語言開發的基礎,如果不掌握,有可能設計出來的程式碼和想象中的不一樣。
雖然這是一個很簡單的技術基礎,但很容易被微控制器初學者,或者C語言程式設計初學者遺漏的知識點。在程式BUG除錯當中,對於初學者來說,也是經常遇到,希望大家都記住。