打印
[菜农群课笔记]

【菜农新唐群课】第一讲 红杏出墙 3.29

[复制链接]
4694|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Cube|  楼主 | 2011-3-29 22:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Cube 于 2011-3-29 23:09 编辑








其实红杏的关键在于将重复的地址与寄存器

利用结构体表示

使得Px(0)->和PA->这类结构

灵活直观的用户被应用


难点:


1.#define GPIOEs  (*((NU_GPIO_T *) GPIOE_BASE))

这一结构需要读懂


2.

typedef struct
{
    NU_GPIO_PMD_T   PMD;//模式控制(0输入1输出2开漏3准双向)
    NU_GPIO_OFFD_T  OFFD;//数字使能(高16位)
    NU_REG_PINs     DOUT;//数据输出值(低16位)
    NU_REG_PINs     DMASK;//数据输出写屏蔽
    NU_REG_PINs     PIN;//管脚数值(低16位)
    NU_REG_PINs     DBEN;//防反弹使能
    NU_REG_PINs     IMD;//中断模式控制(0边沿触发中断1电平触发中断)
    NU_REG_BITs     IEN;//中断使能(高16位上升沿或高电平,低16位下降沿或低电平)
    NU_REG_PINs     ISRC;//中断源标志
NU_REG          RESERVED[7];//保留,为了构造GPIO结构数组
} NU_GPIO_T;


这样是个子模块

因为ABCDE有重复部分只是地址不同,

故先定义此结构



3.上面的结构中

NU_REG_PINs     DOUT;//数据输出值(低16位)

请注意:NU_REG_PINs


是一个很关键的联合体

typedef volatile union
{
  __IO NU_REG  Regs;
  __IO NU_PINs Bits;
}NU_REG_PINs;



它就是用32位寄存器内的32位来表达的成员

4.

typedef volatile struct
{
  NU_REG Pin0:  1;
  NU_REG Pin1:  1;
  NU_REG Pin2:  1;
  NU_REG Pin3:  1;
  NU_REG Pin4:  1;
  NU_REG Pin5:  1;
  NU_REG Pin6:  1;
  NU_REG Pin7:  1;
  NU_REG Pin8:  1;
  NU_REG Pin9:  1;
  NU_REG Pin10:  1;
  NU_REG Pin11:  1;
  NU_REG Pin12:  1;
  NU_REG Pin13:  1;
  NU_REG Pin14:  1;
  NU_REG Pin15:  1;
  NU_REG Pin16:  1;
  NU_REG Pin17:  1;
  NU_REG Pin18:  1;
  NU_REG Pin19:  1;
  NU_REG Pin20:  1;
  NU_REG Pin21:  1;
  NU_REG Pin22:  1;
  NU_REG Pin23:  1;
  NU_REG Pin24:  1;
  NU_REG Pin25:  1;
  NU_REG Pin26:  1;
  NU_REG Pin27:  1;
  NU_REG Pin28:  1;
  NU_REG Pin29:  1;
  NU_REG Pin30:  1;
  NU_REG Pin31:  1;
}NU_PINs


将其实现“位”化

5.

通过以上信息,可以读懂以下定义

#define GPIOAs  (*((NU_GPIO_T *) GPIOA_BASE))

//定位全局结构变量GPIOAs


#define Px(x)     ((NU_GPIO_T *) GPIOA_BASE  + (x * 0x0040))






红杏类似俄罗斯套娃,一层层

实现GPIOs.PxA.DOUT.Regs |= 1;


切记:关键在于将重复的地址与寄存器




















评分
参与人数 1威望 +1 收起 理由
dong_abc + 1

相关下载

相关帖子

沙发
U灬U| | 2011-3-29 22:47 | 只看该作者
膜拜!:'(

使用特权

评论回复
板凳
xjm05413| | 2011-3-29 22:48 | 只看该作者
板凳
~~~~~~

使用特权

评论回复
地板
arto| | 2011-3-29 22:48 | 只看该作者
红杏出墙

使用特权

评论回复
5
缥缈九哥| | 2011-3-29 22:49 | 只看该作者
我过来复印听课笔记。哈哈。大学也是那么弄的。

使用特权

评论回复
6
sleijun| | 2011-3-29 22:50 | 只看该作者
这笔记做得真是给力

使用特权

评论回复
7
weshiluwei6| | 2011-3-29 22:52 | 只看该作者
神 真强 笔记 我记下

使用特权

评论回复
8
kingsabbit| | 2011-3-29 22:54 | 只看该作者
速度好快呀

使用特权

评论回复
9
dongliangwu| | 2011-3-29 23:12 | 只看该作者
我的个神啊  I服了U

使用特权

评论回复
10
bird777| | 2011-3-29 23:13 | 只看该作者
感谢菜农,感谢神农!

使用特权

评论回复
11
hotpower| | 2011-3-30 07:02 | 只看该作者
不需感谢,农民就是喜欢劳作,实际大家都会的

使用特权

评论回复
12
c51avr| | 2011-3-30 09:34 | 只看该作者
顶一下

使用特权

评论回复
13
plc_avr| | 2011-3-30 10:04 | 只看该作者
顶!

使用特权

评论回复
14
Swallow_0322| | 2011-3-30 11:25 | 只看该作者
神这才是真正的笔记,必须膜拜!:P

使用特权

评论回复
15
fastolf| | 2011-3-30 13:00 | 只看该作者
新唐明天再武汉的研讨会会不会还整个“红杏出墙”啊~~~

使用特权

评论回复
16
weshiluwei6| | 2011-3-30 13:32 | 只看该作者
好难啊

使用特权

评论回复
17
gfs0521| | 2011-3-30 19:05 | 只看该作者
:) 菜农也种花

使用特权

评论回复
18
hotpower| | 2011-3-30 19:59 | 只看该作者
不难如何出墙???

使用特权

评论回复
19
lixupengIC| | 2011-3-31 22:03 | 只看该作者
mark!!!

使用特权

评论回复
20
hotpower| | 2011-4-13 15:04 | 只看该作者
自己顶起来

使用特权

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

本版积分规则

个人签名:诚学敏思,踏实点滴

0

主题

270

帖子

1

粉丝