打印

怎么给宏赋值

[复制链接]
3631|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
daoyuan345610|  楼主 | 2011-10-20 13:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
yewuyi| | 2011-10-20 13:34 | 只看该作者
在此, PL_COUNT不是一个变量,而是一个常量,即(0x12)

使用特权

评论回复
板凳
daoyuan345610|  楼主 | 2011-10-20 13:35 | 只看该作者
PL_COUNT是一个寄存器~~    我知道这个寄存器位置,那我现在应该怎么给他赋值

使用特权

评论回复
地板
ayb_ice| | 2011-10-20 13:37 | 只看该作者
不知道LZ是否想要的是这个
#define mequ(x)  PL_COUNT = (x)

mequ(0x14); // PL_COUNT = 0x14

使用特权

评论回复
5
daoyuan345610|  楼主 | 2011-10-20 13:44 | 只看该作者
我现在在C8051来检测振动传感器~~    我知道它的产生中断的寄存器PL_COUNT及它的地址0x12,那么我现在应该怎样写寄存器PL_COUNT的值

使用特权

评论回复
6
daoyuan345610|  楼主 | 2011-10-20 13:45 | 只看该作者
4# ayb_ice
应该不是吧,我需要给寄存器赋值~~我直接这样赋值  PL_COUNT=0X14  ,但是提示错误

使用特权

评论回复
7
电子write_cai| | 2011-10-20 13:56 | 只看该作者
把程序贴出来,你这样赋值没问题的。 6# daoyuan345610

使用特权

评论回复
8
dong_abc| | 2011-10-20 14:02 | 只看该作者
本帖最后由 dong_abc 于 2011-10-20 14:04 编辑

估计是这样的,楼主缺了个东西。
sfr PL  = 0x10;
#define  PL_COUNT  (0x12)
那么可以 PL_COUNT  =  0x14;



或者*(unsigned char *)PL_COUNT = 0x14;   

不猜了~~~

使用特权

评论回复
9
ayb_ice| | 2011-10-20 14:25 | 只看该作者
4# ayb_ice  
应该不是吧,我需要给寄存器赋值~~我直接这样赋值  PL_COUNT=0X14  ,但是提示错误
daoyuan345610 发表于 2011-10-20 13:45

看来基本是菜鸟
把相应的头文件加入即可

PL_COUNT=0X14

使用特权

评论回复
10
daoyuan345610|  楼主 | 2011-10-20 14:42 | 只看该作者
我是菜鸟~~我搞错了,不好意思i,我是用MCU的2个引脚模拟I2C,  所以外设的传感器~的寄存器的值应该是通过,I2C来传送!      感谢各位

使用特权

评论回复
11
daoyuan345610|  楼主 | 2011-10-20 14:53 | 只看该作者
我想问下在I2C中传送中有个重新开始状态~~,这个操作和I2C的开始状态有区别吗

使用特权

评论回复
12
ychw1986| | 2011-10-20 14:59 | 只看该作者
本帖最后由 ychw1986 于 2011-10-20 15:07 编辑

看明白了 ,楼主是要给0x12的地址赋值为0x14

#define PL_COUNT (*(unsigned char *)0x12)
PL_COUNT = 0X14;
包含头文件即可

使用特权

评论回复
13
电子write_cai| | 2011-10-20 21:14 | 只看该作者
我想问下在I2C中传送中有个重新开始状态~~,这个操作和I2C的开始状态有区别吗
daoyuan345610 发表于 2011-10-20 14:53
这个你看协议啊. 起始信号和结束信号,两个连续的起始信号也没事。

使用特权

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

本版积分规则

2

主题

53

帖子

1

粉丝