打印
[技术问答]

输入上拉下拉

[复制链接]
3100|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
newphj|  楼主 | 2017-2-10 08:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
初次用nuc130,引脚设置为输入是,怎么配置上下拉。。
沙发
zhuomuniao110| | 2017-2-10 08:49 | 只看该作者
/**
* @brief       Set GPIO operation mode
*
* @param[in]   port        GPIO port. It could be PA, PB, PC, PD, PE or PF.
* @param[in]   u32PinMask  The single or multiple pins of specified GPIO port.
*                          It could be BIT0 ~ BIT15 for PA, PB, PC, PD and PE GPIO port.
*                          It could be BIT0 ~ BIT3 for PF GPIO port.
* @param[in]   u32Mode     Operation mode. . It could be \n
*                          GPIO_PMD_INPUT, GPIO_PMD_OUTPUT, GPIO_PMD_OPEN_DRAIN, GPIO_PMD_QUASI.
*
* @return      None
*
* @Details     This function is used to set specified GPIO operation mode.
*/
void GPIO_SetMode(GPIO_T *port, uint32_t u32PinMask, uint32_t u32Mode)
{
    uint32_t i;

    for(i = 0; i < GPIO_PIN_MAX; i++)
    {
        if(u32PinMask & (1 << i))
        {
            port->PMD = (port->PMD & ~(0x3 << (i << 1))) | (u32Mode << (i << 1));
        }
    }
}

使用特权

评论回复
板凳
zhuomuniao110| | 2017-2-10 08:49 | 只看该作者
GPIO_SetMode(GPIO_T *port, uint32_t u32PinMask, uint32_t u32Mode)
这个函数是配置GPIO的模式的,一共四种模式可选
GPIO_PMD_INPUT, GPIO_PMD_OUTPUT, GPIO_PMD_OPEN_DRAIN, GPIO_PMD_QUASI.

使用特权

评论回复
地板
zhuomuniao110| | 2017-2-10 08:50 | 只看该作者
如果是输入模式,直接用GPIO_PMD_INPUT就行了。同样你可以设置输出模式,或者开漏,或准双向。

使用特权

评论回复
5
zhuomuniao110| | 2017-2-10 08:51 | 只看该作者
第一次用最好下载那个官方的BSP开发包,里面有库函数和例程序,不建议用寄存器,这年头,你还学寄存器每一家的都不同命名的头文件,怎么学,用库函数基本上都是那么回事了。

使用特权

评论回复
6
zhuomuniao110| | 2017-2-10 08:52 | 只看该作者
7
huangcunxiake| | 2017-2-10 19:47 | 只看该作者
输入就直接配置成输入模式就行了。就自动上拉了

使用特权

评论回复
8
zhuotuzi| | 2017-2-11 10:42 | 只看该作者
GPIO_PMD_INPUT, GPIO_PMD_OUTPUT, GPIO_PMD_OPEN_DRAIN, GPIO_PMD_QUASI.

使用特权

评论回复
9
zhuotuzi| | 2017-2-11 10:43 | 只看该作者
新手吧,下载官方的例程看看怎么操作IO。

使用特权

评论回复
10
捉虫天师| | 2017-2-11 15:59 | 只看该作者
应该就一种模式,输入模式,默认是上拉电阻。

使用特权

评论回复
11
newphj|  楼主 | 2017-2-13 15:18 | 只看该作者
捉虫天师 发表于 2017-2-11 15:59
应该就一种模式,输入模式,默认是上拉电阻。

你好,那我需要下拉的时候需要怎么设置的?

使用特权

评论回复
12
newphj|  楼主 | 2017-2-13 15:21 | 只看该作者
zhuotuzi 发表于 2017-2-11 10:43
新手吧,下载官方的例程看看怎么操作IO。

你好。之前都是用ST的。ST的设置有上下拉各种模式的。
GPIO_Mode_AIN ,
  GPIO_Mode_IN_FLOATING ,
  GPIO_Mode_IPD,
  GPIO_Mode_IPU ,
  GPIO_Mode_Out_OD ,
  GPIO_Mode_Out_PP ,
  GPIO_Mode_AF_OD ,
  GPIO_Mode_AF_PP
新唐的第一次用,所以还不熟悉。

使用特权

评论回复
13
mintspring| | 2017-2-13 23:25 | 只看该作者
It could be BIT0 ~ BIT15 for PA, PB, PC, PD and PE GPIO port.
*                          It could be BIT0 ~ BIT3 for PF GPIO port.
这个一定要注意,不是所有的可以。

使用特权

评论回复
14
Harvard| | 2017-2-14 09:57 | 只看该作者
不行接个电阻下拉看看了 或者你配置成输入模式 ,然后 让端口输出0 看看

使用特权

评论回复
15
捉虫天师| | 2017-2-16 21:15 | 只看该作者
newphj 发表于 2017-2-13 15:18
你好,那我需要下拉的时候需要怎么设置的?

你输出0不就是下拉吗

使用特权

评论回复
16
捉虫天师| | 2017-2-16 21:17 | 只看该作者
设置后应该根据你输出的不同状态来确定是上拉还是下拉的,一般输出模式下,输出为1就是上拉,输出为0就是下拉。

使用特权

评论回复
17
newphj|  楼主 | 2017-2-17 07:28 | 只看该作者
捉虫天师 发表于 2017-2-16 21:17
设置后应该根据你输出的不同状态来确定是上拉还是下拉的,一般输出模式下,输出为1就是上拉,输出为0就是下 ...

好的,谢谢。

使用特权

评论回复
18
598330983| | 2017-2-19 19:25 | 只看该作者
下载个BSP开发包,里面有一些LIB库,

使用特权

评论回复
19
heisexingqisi| | 2017-2-19 23:24 | 只看该作者
找个手册看看,关于GPIO的那几种设置哪个是上拉,应该没有下拉这个吧。

使用特权

评论回复
20
gejigeji521| | 2017-2-19 23:59 | 只看该作者
看手册上说,好像每个IO里面有个上拉电阻。么有下拉电阻吧。

使用特权

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

本版积分规则

15

主题

79

帖子

2

粉丝