搜索
bottom↓
回复: 15

求助坛友,如何用DEFINE将零散的IO组合为一组P0这种。谢谢

[复制链接]

出0入0汤圆

发表于 2014-10-23 10:00:32 | 显示全部楼层 |阅读模式
求教各位坛友,目前有一个小点阵板,因为EDA布线的需要,把IO口打散了,没法用P0=0x45这种形式直接赋值了。
以前看过一个用DEFINE方法把零散io组合回一个整P0格式的,搜了半天也没有搜到。
麻烦坛友帮忙,多谢多谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-10-23 10:05:27 | 显示全部楼层
我一般就写一个函数,然后把传送来的值一位一位的输出,哈哈 我只用到数码管

出0入0汤圆

 楼主| 发表于 2014-10-23 11:06:52 | 显示全部楼层
自己顶顶。。。。不想用函数的方式。。。

出0入0汤圆

发表于 2014-10-23 11:10:53 | 显示全部楼层
你现在剩什么IO资源也没说清楚啊,我倒是简单写过一个32的,不过没人关注

出0入0汤圆

 楼主| 发表于 2014-10-23 11:13:08 | 显示全部楼层
didadida 发表于 2014-10-23 11:10
你现在剩什么IO资源也没说清楚啊,我倒是简单写过一个32的,不过没人关注

不用管剩余的啊,我就是想把零散的8个io通过define的方法组合成一个PX的形式。谢谢啦。

出0入0汤圆

发表于 2014-10-23 11:29:05 | 显示全部楼层
问题解决了吗

出0入0汤圆

 楼主| 发表于 2014-10-23 11:30:33 | 显示全部楼层

木有捏。。。。

出0入0汤圆

发表于 2014-10-23 11:36:17 | 显示全部楼层
你就是用define到最后也是要一堆移位操作,相比直接用函数真能省下几个始终周期?

出0入0汤圆

发表于 2014-10-23 11:36:21 | 显示全部楼层
本帖最后由 didadida 于 2014-10-23 11:40 编辑

假设 P0 剩余 P0.0 P0.3,P1 剩余 P1.1 P1.3 P 1.5,P2 剩余 P2.2 P2.3 P2.6

(顺序MSB->LSB:P0.3 P0.0 P1.5 P1.3 P1.1 P2.6 P2.3 P2.2)
  1. #define PX(val)  P2 &= ~(1<<2 | 1<<3 | 1<<6); P2 |= (val&0x01)<<2 | (val&0x02)<<3 | (val&0x04)<<6;\
  2. P1 &= ~(1<<1 | 1<<3 | 1<<5); P1 |= (val&0x08)<<1 | (val&0x10)<<3 | (val&0x20)<<5;\
  3. P0 &= ~(1<<0 | 1<<3); P0 |= (val&0x40)<<0 | (val&0x80)<<3;
复制代码

以上代码未经测试,请自行调整。

出0入0汤圆

发表于 2014-11-11 10:07:01 | 显示全部楼层
51可以用位操作,肯定是多个组合的没办法。。。

出0入213汤圆

发表于 2014-11-11 11:33:46 | 显示全部楼层
笨办法。一个引脚一个引脚地操作吧。

出0入0汤圆

发表于 2014-11-11 13:04:29 | 显示全部楼层
不想用函数,就用9楼的,呵呵

出0入0汤圆

发表于 2014-11-11 14:09:18 | 显示全部楼层
九楼好方法,很多例程都是这么写的。

出0入0汤圆

发表于 2014-11-11 14:35:22 | 显示全部楼层
搜索关键词 位域

出0入0汤圆

发表于 2014-11-12 18:43:00 | 显示全部楼层
9楼方法感觉不错~

出0入0汤圆

发表于 2014-11-12 20:11:22 来自手机 | 显示全部楼层
不错,理解应用
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 22:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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