打印

还是位操作

[复制链接]
2400|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ys0fcheng|  楼主 | 2010-1-12 00:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ys0fcheng 于 2010-1-12 00:05 编辑

好几次在论坛看到这里有朋友问PSOC能否位操作问题!不少人都说可以,但是确没有什么代码之类的说明,给了个链接网站,进去的还是什么都得不到!用PSOC快一年了,自己控制IO口,都是通过写整个IO口寄存器来控制的如P4的0口输出1则:PRT4DR|=0X01,为0则PRT4DR&=~0X01。当初就听说过PSOC没有布尔处理器,何来有位操作这个说法,在自己接触的应用笔记上也一直没有发现BIT这样让人欣悦的代码!!但是看到这里的朋友都说能,于是开始怀疑自己的判断与用法了,可是为什么连老外都没这么用过呢,连位段定义都没看见过!自己也试过位段定义,结果编译ERROR,后面也没深究这个问题了!今天突然很想要个答案,所以再发一次贴,希望CY高手们能给点代码与证据,以解我这样多数菜鸟的疑惑:)
沙发
linhai2009| | 2010-1-12 12:51 | 只看该作者
BIT?只得是什么?不会是学校的代码吧?

使用特权

评论回复
板凳
loveforever| | 2010-1-12 19:47 | 只看该作者
BIT?只得是什么?不会是学校的代码吧?
linhai2009 发表于 2010-1-12 12:51

。。。。。
lz是说BIT那种位操作方式吧

使用特权

评论回复
地板
love_life| | 2010-1-13 00:17 | 只看该作者
哈哈,BIT,有意思,不知道代表什么?

使用特权

评论回复
5
ys0fcheng|  楼主 | 2010-1-13 11:12 | 只看该作者
本帖最后由 ys0fcheng 于 2010-1-13 11:40 编辑

?????
bit   flag ;    //定义一个标志位(51中分配有一片单独的区域用于定义位变量)
sbit   LED=P2^0;//对IO口执行位定义,后面程序中由LED=1,LED=0来实现高低电平输出
基本的51位操作代码,好像跑题了吧!!!!
重新试了下位段定义,编译没问题了
h文件里
typedef struct{
   unsigned int bit0 :1;
   unsigned int bit1 :1;
   unsigned int bit2 :1;
   unsigned int bit3 :1;
   unsigned int bit4 :1;
   unsigned int bit5 :1;
   unsigned int bit6 :1;
   unsigned int bit7 :1;
   }Data8bits;
C文件里
Data8bits  abc;````````````````abc.bit0=1;
由于PSOC 寄存器没有这样的定义,想在IO口上实现实现位操作仿佛不可能,多余的帖子,就此结题吧!:)

使用特权

评论回复
6
rj_tang| | 2010-1-13 17:45 | 只看该作者
M8C核本身不支持寄存器位操作。

使用特权

评论回复
7
ys0fcheng|  楼主 | 2010-1-13 22:33 | 只看该作者
6# rj_tang
以前看PSOC 的技术资料后也这么认为的,最近用一个非标准I2C器件,涉及到用IO口模这种I2C时序,就突然想起了论坛里曾经有朋友说能IO口位操作,也懒得去查以前的技术文档了,所以发帖探讨确认一下!

使用特权

评论回复
8
lwb_2888| | 2010-1-14 09:16 | 只看该作者
位操作,可以的

使用特权

评论回复
9
ys0fcheng|  楼主 | 2010-1-14 11:39 | 只看该作者
那这么操作呢?位段定义?

使用特权

评论回复
10
rocky_bian| | 2010-1-15 17:26 | 只看该作者
8樓 回復下

使用特权

评论回复
11
god_like| | 2010-1-15 22:11 | 只看该作者
可以进行位操作?8楼的说说吗

使用特权

评论回复
12
hulan1985| | 2010-1-15 22:32 | 只看该作者
BIT?只得是什么?不会是学校的代码吧?
linhai2009 发表于 2010-1-12 12:51

BIT是北京理工大学吧?呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

34

帖子

0

粉丝