智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4927|回复: 11
打印 上一主题 下一主题

能回答这个问题的都他妈是大师。。。。

  [复制链接]

4

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
威望
236
贡献
56
兑换币
14
注册时间
2010-7-29
在线时间
14 小时
跳转到指定楼层
1#
发表于 2010-8-2 13:48:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*** PWME - PWM Enable Register; 0x00000300 ***/
typedef union {
  byte Byte;
  struct {
    byte PWME0       :1;                                       /* Pulse Width Channel 0 Enable */
    byte PWME1       :1;                                       /* Pulse Width Channel 1 Enable */
    byte PWME2       :1;                                       /* Pulse Width Channel 2 Enable */
    byte PWME3       :1;                                       /* Pulse Width Channel 3 Enable */
    byte PWME4       :1;                                       /* Pulse Width Channel 4 Enable */
    byte PWME5       :1;                                       /* Pulse Width Channel 5 Enable */
    byte PWME6       :1;                                       /* Pulse Width Channel 6 Enable */
    byte PWME7       :1;                                       /* Pulse Width Channel 7 Enable */
  } Bits;
} PWMESTR;
extern volatile PWMESTR _PWME @(REG_BASE + 0x00000300);
#define PWME                                    _PWME.Byte
#define PWME_PWME0                      _PWME.Bits.PWME0
#define PWME_PWME1                      _PWME.Bits.PWME1
#define PWME_PWME2                      _PWME.Bits.PWME2
#define PWME_PWME3                      _PWME.Bits.PWME3
#define PWME_PWME4                      _PWME.Bits.PWME4
#define PWME_PWME5                      _PWME.Bits.PWME5
#define PWME_PWME6                      _PWME.Bits.PWME6
#define PWME_PWME7                      _PWME.Bits.PWME7

#define PWME_PWME0_MASK                 1
#define PWME_PWME1_MASK                 2
#define PWME_PWME2_MASK                 4
#define PWME_PWME3_MASK                 8
#define PWME_PWME4_MASK                 16
#define PWME_PWME5_MASK                 32
#define PWME_PWME6_MASK                 64
#define PWME_PWME7_MASK                 128


这段代码的具体意义怎么理解?  我懂C语言。。。。。。谢谢。。。。

127

主题

841

帖子

1

精华

跨届大侠

老三届

Rank: 10Rank: 10Rank: 10

积分
8526

优秀会员奖章活跃会员奖章论坛骨干奖章资源大师奖章优秀版主奖章在线王奖章

QQ
威望
3143
贡献
4359
兑换币
763
注册时间
2008-3-31
在线时间
512 小时
2#
发表于 2010-8-2 16:52:31 | 只看该作者
你对大师的要求太低了,
这个问题其实不需要大师回答的,
很遗憾的是,我不能冒充大师
回复 支持 反对

使用道具 举报

39

主题

593

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1694
威望
989
贡献
401
兑换币
86
注册时间
2008-12-13
在线时间
152 小时
3#
发表于 2010-8-2 19:37:06 | 只看该作者
建议你看看C语言的共同体吧,具体什么意思我也不知道,但是作用我知道  你用过51吧?  你知道KEIL吧,比如你要访问P1口,但是KEIL不知道什么是P1 ,所以在reg52.h里定义了sfr P1    = 0x90; 这样,当你写P1=0X38的时候,KEIL就知道是吧0X38放到0x90这个地址。上面的作用就是定义了PWME这个寄存器的地址extern volatile PWMESTR _PWME @(REG_BASE + 0x00000300);让你在程序里可以直接写PWME来访问这个寄存器。其他的长篇大论无非你让你可以直接用PWME_PWME0这样的语句来访问PWME这个寄存器的第 0位, 原理没空研究~
等你用过STM32的硬件库就知道了,这样的写法很常用。其实就是让别人用起来方便而已,原理有兴趣就研究,没兴趣可以不用管
回复 支持 反对

使用道具 举报

4

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
威望
236
贡献
56
兑换币
14
注册时间
2010-7-29
在线时间
14 小时
4#
 楼主| 发表于 2010-8-9 14:04:30 | 只看该作者
回复 2# zzy2099


    那你是大湿。。。。。。
回复 支持 反对

使用道具 举报

4

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
威望
236
贡献
56
兑换币
14
注册时间
2010-7-29
在线时间
14 小时
5#
 楼主| 发表于 2010-8-9 14:06:25 | 只看该作者
回复 3# zouyf12


    谢谢,大师。。。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
威望
177
贡献
28
兑换币
4
注册时间
2010-8-25
在线时间
4 小时
6#
发表于 2010-8-25 13:44:24 | 只看该作者
首先说你的素质不高,我也不是大师!
寄存器的声明采用最经典的结构体位域法,具体看C语言的结构体位域教程。
所有的位域寄存器都是按2的位权赋值的,所以就有1,2,4,8,32,.......
后面只是一些定义罢了
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
256
威望
190
贡献
46
兑换币
10
注册时间
2010-9-13
在线时间
10 小时
7#
发表于 2010-10-9 16:39:26 | 只看该作者
请LZ自行复习联合体与结构体。。这种问题不需要大师回答。。
这段程序中只有@(REG_BASE + 0x00000300)不是标准的C语言。
回复 支持 反对

使用道具 举报

1

主题

179

帖子

0

精华

高级会员

Rank: 4

积分
635
QQ
威望
406
贡献
191
兑换币
0
注册时间
2010-10-26
在线时间
19 小时
8#
发表于 2010-10-31 15:35:56 | 只看该作者
回复 支持 反对

使用道具 举报

4

主题

142

帖子

0

精华

高级会员

乘风破浪

Rank: 4

积分
656
QQ
威望
436
贡献
208
兑换币
0
注册时间
2010-12-26
在线时间
6 小时
9#
发表于 2011-2-1 23:25:13 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

3

主题

152

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13579

论坛元老奖章

QQ
威望
7001
贡献
6508
兑换币
0
注册时间
2010-4-3
在线时间
35 小时
10#
发表于 2011-2-2 07:22:03 | 只看该作者
en
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 19:50 , Processed in 0.052421 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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