找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12391|回复: 15
收起左侧

C语言16位变量怎么赋值给8位变量?

[复制链接]
ID:427725 发表于 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 发表于 2018-12-11 07:23 | 显示全部楼层
通过 取高八位、低八位或取中间某个8为赋值给8位变量
回复

使用道具 举报

ID:275671 发表于 2018-12-11 07:39 | 显示全部楼层
Data[0] = data[0]%256;

话说Data data不怕搞错吗
回复

使用道具 举报

ID:164602 发表于 2018-12-11 08:00 | 显示全部楼层
你的程序有一点点错:
Data[0] = data[0]%255;    //在IAR编译上会显示“Data[0]”乱码
应该是256吧,改了试试
回复

使用道具 举报

ID:23606 发表于 2018-12-11 09:09 | 显示全部楼层
Data[0] =(char) data[0];
回复

使用道具 举报

ID:199427 发表于 2018-12-11 09:16 | 显示全部楼层
16位的高八位除以256,低八位对256取余。
回复

使用道具 举报

ID:123289 发表于 2018-12-11 12:51 | 显示全部楼层
你要想好:你打算将16位中哪8位取出,哪8位丢弃。下面的事就好办了。
回复

使用道具 举报

ID:62288 发表于 2018-12-11 13:44 | 显示全部楼层
直接赋值,编译后就是只把第八位赋值给8位寄存器了
回复

使用道具 举报

ID:427725 发表于 2018-12-11 17:02 | 显示全部楼层
C:\Users\hzl\Desktop\求助.jpg
如图所示的乱码,新手表示不知道怎么操作
回复

使用道具 举报

ID:427725 发表于 2018-12-11 17:05 | 显示全部楼层
yzwzfyz 发表于 2018-12-11 12:51
你要想好:你打算将16位中哪8位取出,哪8位丢弃。下面的事就好办了。

我只要低8位,该怎么弄呢
(并且得到的新变量要通过串口显示)
回复

使用道具 举报

ID:427725 发表于 2018-12-11 17:06 | 显示全部楼层
yzwzfyz 发表于 2018-12-11 12:51
你要想好:你打算将16位中哪8位取出,哪8位丢弃。下面的事就好办了。

我只要低8位,该怎么弄呢
(并且得到的新变量要通过串口显示)
回复

使用道具 举报

ID:427725 发表于 2018-12-11 17:06 | 显示全部楼层
HC6800-ES-V2.0 发表于 2018-12-11 08:00
你的程序有一点点错:
Data[0] = data[0]%255;    //在IAR编译上会显示“Data[0]”乱码
应该是256吧,改 ...

试过了,依然乱码
回复

使用道具 举报

ID:218123 发表于 2018-12-11 17:54 | 显示全部楼层
你试试:
Data[0]=(uint8)(data[0]>>8)+(uint8)data[0]
回复

使用道具 举报

ID:275671 发表于 2018-12-12 07:03 | 显示全部楼层
楼主需要学习电脑知识,你把图片放在C盘,是想快递给我们吗

乱码是个什么码,HEX的256个都是有效码,不存在乱码
回复

使用道具 举报

ID:123289 发表于 2018-12-12 09:14 | 显示全部楼层
直接送,高位自动溢出。
回复

使用道具 举报

ID:280876 发表于 2018-12-13 19:49 | 显示全部楼层
  Data[0] = data[0]&0xFF;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表