智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2220|回复: 7
打印 上一主题 下一主题

[咨询] GPIO_SET(portx,n,1); 不知道函数出自何处

[复制链接]

13

主题

25

帖子

0

精华

高级会员

Rank: 4

积分
835
威望
429
贡献
232
兑换币
255
注册时间
2013-9-8
在线时间
87 小时
毕业学校
青州实验高级中学
跳转到指定楼层
#
发表于 2013-9-20 12:05:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1贡献
void gpio_init (PORTx portx, u8 n,GPIO_CFG cfg,u8 data)
{
    ASSERT( (n < 32u)  && (data < 2u) );           //使用断言检查输入、电平 是否为1bit
    //选择功能脚 PORTx_PCRx ,每个端口都有个寄存器 PORTx_PCRx
    PORT_PCR_REG(PORTX[portx],n)=(0|PORT_PCR_MUX(1)/*|cfg*/);
    //端口方向控制输入还是输出
    if( ( (cfg&0x01) == GPI) || (cfg == GPI_UP) ||     (cfg == GPI_UP_PF)      )
        //   最低位为0则输入   ||   输入上拉模式  ||   输入上拉,带无源滤波器
    {
        GPIO_PDDR_REG(GPIOx[portx]) &= ~(1<<n);    //设置端口方向为输入
    }
    else
    {
        GPIO_PDDR_REG(GPIOx[portx]) |= (1<<n);  (这句话也不知道从哪里来的 )    //设置端口方向为输出
        if(data == 1)//outpu
        {
            GPIO_SET(portx,n,1);   (这个函数是哪里来的啊 不懂)                 //对端口输出控制,输出为1
        }
else
        {
            GPIO_SET(portx,n,0);                    //对端口输出控制,输出为0
        }
    }
}
红色部分不懂求指教  我是一个新手

最佳答案

查看完整内容

GPIO_PDDR_REG 是 GPIO PDDR 寄存器 GPIO_SET 是 在头文件定义的 宏定义

4

主题

203

帖子

0

精华

常驻嘉宾

我也有头衔

Rank: 8Rank: 8

积分
3354
威望
1835
贡献
891
兑换币
713
注册时间
2013-9-10
在线时间
314 小时
毕业学校
浙江大学
7#
发表于 2013-9-21 11:16:24 | 只看该作者
lz高中就来这儿 …… 我顿时觉得自己弱爆了
回复

使用道具 举报

13

主题

25

帖子

0

精华

高级会员

Rank: 4

积分
835
威望
429
贡献
232
兑换币
255
注册时间
2013-9-8
在线时间
87 小时
毕业学校
青州实验高级中学
6#
 楼主| 发表于 2013-9-20 21:57:06 | 只看该作者
野火 发表于 2013-9-20 16:11
高中生?

头文件 在 gpio.h 上实现

受益匪浅   霎时领悟
回复

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
5#
发表于 2013-9-20 16:11:53 | 只看该作者
刘康 发表于 2013-9-20 15:27
GPIO_PDDR_REG(GPIOx)  那REG是什么意思   为什么宏定义还有括号

高中生?

头文件 在 gpio.h 上实现

REG 表示寄存器的意思

宏定义可以带参数,带参数就有括号。


回复

使用道具 举报

13

主题

25

帖子

0

精华

高级会员

Rank: 4

积分
835
威望
429
贡献
232
兑换币
255
注册时间
2013-9-8
在线时间
87 小时
毕业学校
青州实验高级中学
4#
 楼主| 发表于 2013-9-20 15:27:23 | 只看该作者
野火 发表于 2013-9-20 13:01
GPIO_PDDR_REG  是 GPIO PDDR 寄存器

GPIO_SET 是 在头文件定义的  宏定义

GPIO_PDDR_REG(GPIOx[portx])  那REG是什么意思   为什么宏定义还有括号
回复

使用道具 举报

13

主题

25

帖子

0

精华

高级会员

Rank: 4

积分
835
威望
429
贡献
232
兑换币
255
注册时间
2013-9-8
在线时间
87 小时
毕业学校
青州实验高级中学
3#
 楼主| 发表于 2013-9-20 14:54:01 | 只看该作者
野火 发表于 2013-9-20 13:01
GPIO_PDDR_REG  是 GPIO PDDR 寄存器

GPIO_SET 是 在头文件定义的  宏定义

头文件在哪里找啊
回复

使用道具 举报

21

主题

896

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4068
威望
2252
贡献
1296
兑换币
1483
注册时间
2012-7-30
在线时间
260 小时
毕业学校
克莱德大学
2#
发表于 2013-9-20 12:26:49 | 只看该作者
不一定是函数啊,看这全大写的风格,应该是宏。
回复

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
1#
发表于 2013-9-20 12:05:38 | 只看该作者
GPIO_PDDR_REG  是 GPIO PDDR 寄存器

GPIO_SET 是 在头文件定义的  宏定义
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 03:38 , Processed in 0.181841 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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