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.表明了其優先順序的高低,只是同時申請中斷時高階的先響應而已,不會打斷低優先順序的中斷。 必須返回低階中斷,你可以設定一個標誌位,在退出高階中斷時...