I/O接口高低位互换
来源:互联网 发布:知乎 神人 常凯申 编辑:程序博客网 时间:2024/05/16 23:52
有人设计硬件电路的时候,稍有马虎,把8位接口的口线序号弄反了。
比如:本应该用P0.0-P0.7连接接D0-D7的,不小心却做成了P0.7-P0.0接D0-D7了。
硬件已经做好,更改起来,很不方便。这时就需要在软件方面来解决。
呵呵,硬件设计是把8条线,全弄拧了。那么在软件中,必须用一个函数,把8位数,再拧回来。
请看下面的函数:
uchar num(uchar dat)
{
uchar val;
val = ((dat & 0x01) << 7) | ((dat & 0x02) << 5) | ((dat & 0x04) << 3) | ((dat & 0x08) << 1) |
((dat & 0x10) >> 1) | ((dat & 0x20) >> 3) | ((dat & 0x40) >> 5) | ((dat & 0x80) >> 7);
return val;
}
在函数中,即实现了把dat中的第7位和第0位交换、第6位和第1位交换、第5位和第2位交换、第4位和第3位交换。
这个函数就可以解决硬件接反的问题。
这个函数也行:
char torsion(char x)
{
char i = 0, y = 0;
for(; i < 8; i++) if(x & (1 << i)) y += (128 >> i);
reture y;
}
实际工作中,这样的事情,还是时有发生,可见下面的网址:
http://zhidao.baidu.com/question/328357117.html
http://zhidao.baidu.com/question/344491575.html
今天又碰上一个:
http://zhidao.baidu.com/question/354111154.html
- I/O接口高低位互换
- 高低位字节互换
- C语言之linux内核实现位数高低位互换
- 双11围观云计算:I/O高低决胜算
- 一个将32位数字高低位互换的小程序
- I/O unix 接口
- 【编程】I/O接口
- I/O接口递归
- I/O接口的详解
- I/O设备与接口
- 输入输出系统--I/O接口
- DMA&&I/O接口了解
- 高低位交换
- .Net取高低位
- 高低位交换
- c++ 高低位例子
- 十六进制高低位转换
- 高低位字节序
- 用80x86汇编语言编程--在10个无符号数中,找最小的偶数
- C语言编程:字符串连接
- iOS-最新iOS 9 适配中出现的坑
- 使用ViewFlipper实现页面自动切换
- C语言编程:有n个人围成一圈,顺序排号。从第一个人开始报数...
- I/O接口高低位互换
- C语言:从键盘输入两个字符串,输出第一个字符串在第二个字符串中的位置
- iOS开发之简单多语言开发
- C语言编程:进制转换器
- 模2除法
- 可控的花样流水灯
- ASCII 码的显示
- POJ 1017: Packets
- 《甩蛋歌》唱尽2011