找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13392|回復: 15
收起左側(cè)

C語言16位變量怎么賦值給8位變量?

[復制鏈接]
ID:427725 發(fā)表于 2018-12-11 03:24 | 顯示全部樓層 |閱讀模式
int16 data[3];
uint8  Data[3];

                data[0] = adc_once(ADC0_SE5b,ADC_8bit);//采集ADC0_SE8電壓,精度8位        
                Data[0] = data[0]%255;    //在IAR編譯上會顯示“Data[0]”亂碼
for(int i=0;i<3:i++)
{
                 uart_putstr(uart2,&Data[ i]);
}



//在IAR編譯上會顯示“Data[0]”亂碼,有沒有什么好辦法可以將16位變量值賦值給8位的(我只用了8位的ADC采集)????
求助



回復

使用道具 舉報

ID:317383 發(fā)表于 2018-12-11 07:23 | 顯示全部樓層
通過 取高八位、低八位或取中間某個8為賦值給8位變量
回復

使用道具 舉報

ID:275671 發(fā)表于 2018-12-11 07:39 | 顯示全部樓層
Data[0] = data[0]%256;

話說Data data不怕搞錯嗎
回復

使用道具 舉報

ID:164602 發(fā)表于 2018-12-11 08:00 | 顯示全部樓層
你的程序有一點點錯:
Data[0] = data[0]%255;    //在IAR編譯上會顯示“Data[0]”亂碼
應該是256吧,改了試試
回復

使用道具 舉報

ID:23606 發(fā)表于 2018-12-11 09:09 | 顯示全部樓層
Data[0] =(char) data[0];
回復

使用道具 舉報

ID:199427 發(fā)表于 2018-12-11 09:16 | 顯示全部樓層
16位的高八位除以256,低八位對256取余。
回復

使用道具 舉報

ID:123289 發(fā)表于 2018-12-11 12:51 | 顯示全部樓層
你要想好:你打算將16位中哪8位取出,哪8位丟棄。下面的事就好辦了。
回復

使用道具 舉報

ID:62288 發(fā)表于 2018-12-11 13:44 | 顯示全部樓層
直接賦值,編譯后就是只把第八位賦值給8位寄存器了
回復

使用道具 舉報

ID:427725 發(fā)表于 2018-12-11 17:02 | 顯示全部樓層
C:\Users\hzl\Desktop\求助.jpg
如圖所示的亂碼,新手表示不知道怎么操作
回復

使用道具 舉報

ID:427725 發(fā)表于 2018-12-11 17:05 | 顯示全部樓層
yzwzfyz 發(fā)表于 2018-12-11 12:51
你要想好:你打算將16位中哪8位取出,哪8位丟棄。下面的事就好辦了。

我只要低8位,該怎么弄呢
(并且得到的新變量要通過串口顯示)
回復

使用道具 舉報

ID:427725 發(fā)表于 2018-12-11 17:06 | 顯示全部樓層
yzwzfyz 發(fā)表于 2018-12-11 12:51
你要想好:你打算將16位中哪8位取出,哪8位丟棄。下面的事就好辦了。

我只要低8位,該怎么弄呢
(并且得到的新變量要通過串口顯示)
回復

使用道具 舉報

ID:427725 發(fā)表于 2018-12-11 17:06 | 顯示全部樓層
HC6800-ES-V2.0 發(fā)表于 2018-12-11 08:00
你的程序有一點點錯:
Data[0] = data[0]%255;    //在IAR編譯上會顯示“Data[0]”亂碼
應該是256吧,改 ...

試過了,依然亂碼
回復

使用道具 舉報

ID:218123 發(fā)表于 2018-12-11 17:54 | 顯示全部樓層
你試試:
Data[0]=(uint8)(data[0]>>8)+(uint8)data[0]
回復

使用道具 舉報

ID:275671 發(fā)表于 2018-12-12 07:03 | 顯示全部樓層
樓主需要學習電腦知識,你把圖片放在C盤,是想快遞給我們嗎

亂碼是個什么碼,HEX的256個都是有效碼,不存在亂碼
回復

使用道具 舉報

ID:123289 發(fā)表于 2018-12-12 09:14 | 顯示全部樓層
直接送,高位自動溢出。
回復

使用道具 舉報

ID:280876 發(fā)表于 2018-12-13 19:49 | 顯示全部樓層
  Data[0] = data[0]&0xFF;
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表