打印

5509 gpio头文件宏定义搞不明白 求大侠指导

[复制链接]
3784|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
look1259|  楼主 | 2012-1-25 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define GPIO_PIN0            (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0001u)
#define GPIO_PIN1            (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0002u)
#define GPIO_PIN2            (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0004u)
#define GPIO_PIN3            (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0008u)
#define GPIO_PIN4            (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0010u)
#define GPIO_PIN5            (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0020u)
#define GPIO_PIN6            (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0040u)
#define GPIO_PIN7            (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0080u)
#define GPIO_GPIO_PIN0        (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0001u)
#define GPIO_GPIO_PIN1        (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0002u)
#define GPIO_GPIO_PIN2        (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0004u)
#define GPIO_GPIO_PIN3        (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0008u)
#define GPIO_GPIO_PIN4        (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0010u)
#define GPIO_GPIO_PIN5        (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0020u)
#define GPIO_GPIO_PIN6        (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0040u)
#define GPIO_GPIO_PIN7        (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0080u)
#define GPIO_PGPIO_PIN0       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0001u)
#define GPIO_PGPIO_PIN1       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0002u)
#define GPIO_PGPIO_PIN2       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0004u)
#define GPIO_PGPIO_PIN3       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0008u)
#define GPIO_PGPIO_PIN4       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0010u)
#define GPIO_PGPIO_PIN5       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0020u)
#define GPIO_PGPIO_PIN6       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0040u)
#define GPIO_PGPIO_PIN7       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0080u)
#define GPIO_PGPIO_PIN8       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0100u)
#define GPIO_PGPIO_PIN9       (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0200u)
#define GPIO_PGPIO_PIN10      (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0400u)
#define GPIO_PGPIO_PIN11      (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x0800u)
#define GPIO_PGPIO_PIN12      (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x1000u)
#define GPIO_PGPIO_PIN13      (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x2000u)
#define GPIO_PGPIO_PIN14      (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x4000u)
#define GPIO_PGPIO_PIN15      (((Uint32)(_GPIO_PARALLEL_0) << 16) | 0x8000u)
#define GPIO_PGPIO_PIN16      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0001u)
#define GPIO_PGPIO_PIN17      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0002u)
#define GPIO_PGPIO_PIN18      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0004u)
#define GPIO_PGPIO_PIN19      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0008u)
#define GPIO_PGPIO_PIN20      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0010u)
#define GPIO_PGPIO_PIN21      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0020u)
#define GPIO_PGPIO_PIN22      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0040u)
#define GPIO_PGPIO_PIN23      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0080u)
#define GPIO_PGPIO_PIN24      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0100u)
#define GPIO_PGPIO_PIN25      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0200u)
#define GPIO_PGPIO_PIN26      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0400u)
#define GPIO_PGPIO_PIN27      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x0800u)
#define GPIO_PGPIO_PIN28      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x1000u)
#define GPIO_PGPIO_PIN29      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x2000u)
#define GPIO_PGPIO_PIN30      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x4000u)
#define GPIO_PGPIO_PIN31      (((Uint32)(_GPIO_PARALLEL_1) << 16) | 0x8000u)
#define GPIO_PGPIO_PIN32      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0001u)
#define GPIO_PGPIO_PIN33      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0002u)
#define GPIO_PGPIO_PIN34      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0004u)
#define GPIO_PGPIO_PIN35      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0008u)
#define GPIO_PGPIO_PIN36      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0010u)
#define GPIO_PGPIO_PIN37      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0020u)
#define GPIO_PGPIO_PIN38      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0040u)
#define GPIO_PGPIO_PIN39      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0080u)
#define GPIO_PGPIO_PIN40      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0100u)
#define GPIO_PGPIO_PIN41      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0200u)
#define GPIO_PGPIO_PIN42      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0400u)
#define GPIO_PGPIO_PIN43      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x0800u)
#define GPIO_PGPIO_PIN44      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x1000u)
#define GPIO_PGPIO_PIN45      (((Uint32)(_GPIO_PARALLEL_2) << 16) | 0x2000u)

这是名为csl_5502.h中的一部分,小弟有几点不明白,
下面的是包含的头文件
#include <csl_pll.h>
#include <csl_gpio5509a.h>
#include <stdio.h>
#include<csl_gpio.h>
我包含的是csl_gpio5509a.h,怎么会出现csl_5502.h,
这还是次要的最要命的是GPIO_PIN0  的宏定义和GPIO_PGPIO_PIN0他们的宏定义的值一模一样,  有什么区别
对了还有 0x0001u后面的u是什么意思,有没有官方的文档专门介绍这些头文件里的宏定义的啊

相关帖子

沙发
tciswangbo| | 2012-2-1 14:06 | 只看该作者
1# look1259
unsigned无符号。

使用特权

评论回复
板凳
mjjackey| | 2012-2-4 11:30 | 只看该作者
1. GPIO_PIN0  的宏定义和GPIO_PGPIO_PIN0他们的宏定义的值不是一模一样。前者是_GPIO_NON_PARALLEL宏左移16位,后者是_GPIO_PARALLEL_0宏左移16位不一样的哇。
2.  (((Uint32)(_GPIO_NON_PARALLEL) << 16) | 0x0001u)类似宏的定义表示将(_GPIO_NON_PARALLEL)宏强转为无符号32位数即4个字节,左移16位,得到高两个字节,然后将除最低位设为1其余为保留,u表示无符号数。其它宏依次类推,或的数依次左移使能某一位。

使用特权

评论回复
地板
look1259|  楼主 | 2012-2-10 13:28 | 只看该作者
多谢指导 3# mjjackey

使用特权

评论回复
5
tylhc001| | 2012-2-11 16:34 | 只看该作者
:victory: 1# look1259

使用特权

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

本版积分规则

3

主题

57

帖子

1

粉丝