单片机C语言中char转换成char[]数组的问题请教

2025-03-31 22:50:42
推荐回答(4个)
回答1:

示范一下,供参考
uchar * chang(uchar dat)
{
uchar b[8],i;
for(i=0;i<8;i++)
{
if(dat&0x01)b[i]=1;
else b[i]=0;
dat>>=1;
}
return(b);
}
至于x=1234之类的可以调用中的 atof(char *str)来实现。

回答2:

单片机的P1口是八位 一个字符占一个字节 也是八位 所以你取得P1口的值就没必要转换数组啊 一个字符就够了啊

回答3:

第一种情况如下:
char a=0XAA;
char b[8];
int j[8]={0,0,0,0,0,0,0,0};
for(i=7;i>=0;i--)
{
a>>=i;
j[i]=a|0x00;
b[8-i]=j[i]<<=7|0x00;
b[8-i]=b[8-i]>>=7|0x00;
}

回答4:

把每一位分离出来就可以了