一个理论性的问题
串口通信中可传出例如 "中国" 的字符出去
现在问题是这样的,我根据我的需要,将这两个字
在程序中转换成每个字24比特二制码,存于数组中,
现在遇到了悖论,如果一个1一个0的传无疑把一个
比特做为一个字节考虑,十分愚蠢,有办法将数组中的
二进制码做为比特传出去吗?
串口通信中可传出例如 "中国" 的字符出去
现在问题是这样的,我根据我的需要,将这两个字
在程序中转换成每个字24比特二制码,存于数组中,
现在遇到了悖论,如果一个1一个0的传无疑把一个
比特做为一个字节考虑,十分愚蠢,有办法将数组中的
二进制码做为比特传出去吗?
比如说:
int data1[8], data2[8], data3[8];//这3个数组放了“中国”两个字。
int a1, a2, a3;
a1=data[0]*1+data[1]*2+data[2]*4...+data[7]*128;
a2=...
a3=...
这样你就讲它转换成3个字节了。
{
int d1[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; int d2[8]={0,0,1,1,0,1,0,1}; /* =53 */
int i;
int dd=0x00;
for(i=7;i>=0;i--){
if(d2[i])
dd=dd|d1[i];
else
dd=dd|0x00;
} printf("\n%d",dd);
}================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
这种类型传0或1是否就相当于一个比特呢?
每个字节加四个校验位
故 每个全角字24bit
unsigned char datatosend[3]={0x35,0x13,0x51};
//要传送的三组8位二进制数据
for(int i=0;i<3;i++)
{
__asm{
mov dx,3f8h ;3f8h位COM1口的端口地址
mov al,datatosend[i]
out dx,al
}
//延迟一定时间
… …
}
这样你依次接收到的就是 0x35,0x13,0x51。随后你便可以进行处理了…
定义一个一维BYTE数组,把bool数组中的 01 按八对一存入BYTE数组中
大概可以吧