51微控制器中c語言int能轉換為unsignedchar指標類

時間 2022-02-05 07:05:05

1樓:匿名使用者

1、可以轉換,強制轉換就行。例如:

int a=100;

unsigned char * c = (unsigned char *)a;

2、強制型別轉換

當運算元的型別不同,而且不屬於基本資料型別時,經常需要強制型別轉換,將運算元轉化為所需要的型別。強制型別轉換具有兩種形式,稱為顯式強制轉換和隱式強制型別轉換。

顯式強制型別轉換

顯式強制型別轉換需要使用強制型別轉換運算子,格式如下:

type()

或(type)

其中,type為型別描述符,如int,float等。為表示式。經強制型別轉換運算子運算後,返回一個具有type型別的數值,這種強制型別轉換操作並不改變運算元本身,運算後運算元本身未改變,例如:

int nvar=0xab65;

char cchar=char (nvar);

上述強制型別轉換的結果是將整型值0xab65的高階兩個位元組刪掉,將低端兩個位元組的內容作為char型數值賦值給變數cchar,而經過型別轉換後nvar的值並未改變。

2樓:匿名使用者

可以呀,將高位和地位分別賦值給兩個char變數就可以了。例如:

int x;

unsigned char al,ah;

al=x%256;

ah=x/256;

3樓:匿名使用者

可以,就是拿這個int當成指向unsigned char的指標地址,舉例如下:

int x;

unsigned char c;

c=*((unsigned char *)x); //讀取x地址指向的字元

4樓:匿名使用者

要看什麼樣的微控制器。如果要轉換的話,可以如下:

int a=0x5bce;

unsigned char *p;

p = (unsigned char *)a;

要看你的ram和rom是多大的,有些是單個位元組,那轉換完,可能會丟掉高位的。就是說0x5b會不見了,只剩下個0xce;注意點使用。

希望我的回答對你有幫助,有什麼問題歡迎一起**。

5樓:匿名使用者

可以,直接使用就好了。

unsigned char a;

int addr;

a=(unsigned char *)addr;

關於51微控制器型別轉換的,用keil程式設計,貌似不能把 unsigned char 型別的值給 unsigned int

6樓:匿名使用者

編譯器不知道你是有意,還是無意對不同型別變數賦值的,所以只要型別不同,都提出警告。

規範的做法是,不要忽略任何一個警告,儘可能用規範的**,不同型別變數,手動轉換後再賦值。這樣可以減小出問題的概率。如:

b = (unsigned int)a;

7樓:開始回覆

呵呵。這需要強制轉換啊,b=(unsigned int)a。

8樓:匿名使用者

b=(int)a;

強制轉換

51微控制器資料型別轉換 高分!

9樓:追悔七年

假如你的串列埠傳送函式叫senddata,接收函式叫recvdata,參考如下**

傳送端:

int senddata(unsigned char *psendbuf, unsigned int nsendlen);

int recvdata(unsigned char *precvbuf, unsigned int nbuflen);

void main(void)

接收端:

void main(void)

宗旨就是,先取其他型別資料的地址,用&符號,然後把地址轉換為unsigned char*型,就可以通過*(unsigned char)的方式或(unsigned char)的方式訪問了,就這麼簡單,希望可以幫到你.

10樓:做而論道

這題目,應該多位元組資料串列埠通訊的問題。

11樓:

可以用共用體來實現,這是最簡單的了。

12樓:

給你個思路

資料->字元->資料

微控制器中unsigned char 和unsigned int的區別

51微控制器中unsigned char到底定義的是字元還是0--255的數字

13樓:

是一個8位的二進位制碼 他可以儲存字元代表的ascii碼也可以表示一個0-255的數字,一般變數的大小不超過255的話儘量用char,因為這樣可以節省一些ram

微控制器C語言程式設計,51微控制器C語言程式設計

使用兩個定時器或一個定時器中使用兩個計數都能滿足你的要求。建議使用一個定時器和一個計數器即可,如計數器為i,則if i 測溫定時 0 溫度測量 if i 步進電機定時 0 步進電機控制 注 此時要求兩個控制模組的定時步長是一致,比如都是1ms 設定一個比較小的定時間隔,例如1ms,用靜態變數累加,比...

51微控制器ad轉換不穩定,51微控制器AD轉換不穩定

微控制器一般的adc是沒有問題的,我覺得很有可能是下述原因之一 1.是不是電平有跳動的不穩定,比如輸入電平抖動 干擾導致 你只是肉眼沒看出來而已,所以認為它是穩定的。這個解決方法如果輸入是穩定電壓 直流 那就在電壓之間加上個電容就完事了。2.是不是輸入電壓的範圍超了?如果是範圍超了,加個分壓電路,然...

C語言51微控制器中斷巢狀問題

對於普通51而言,不會存在中斷巢狀的情況,只有如stc系列的51,可以設定4個級別的中斷優先順序才有巢狀情況的發生。雖然外部中斷0 定時器0,外部中斷啊1.表明了其優先順序的高低,只是同時申請中斷時高階的先響應而已,不會打斷低優先順序的中斷。 必須返回低階中斷,你可以設定一個標誌位,在退出高階中斷時...