打印
[技术问答]

新唐N32905U1DN的GPIO无法拉低问题求助

[复制链接]
2389|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
凌福义|  楼主 | 2015-3-28 10:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题是这样子的,我的MCU是N32905U1DN新唐的芯片,我使用的是GPIOD的13好引脚,该引脚没接任何东西,但是我用万用表测试无法拉低,一直是高电平,第一次玩新唐,求大家看看问题所在?下面是代码
#ifndef _LKT_H_
#define _LKT_H_
#define GP_BA       0xB8001000
/**********************IO*****************************/
#define GPIOD_OMD   *(unsigned int *)(GP_BA+0x30)
#define GPIOD_PUEN  *(unsigned int *)(GP_BA+0x34)
#define GPIOD_DOUT  *(unsigned int *)(GP_BA+0x38)
#define GPIOD_PIN   *(unsigned int *)(GP_BA+0x3C)
/*******************RST*******************************/
#define GPIOB_OMD   *(unsigned int *)(GP_BA+0X10)
#define GPIOB_PUEN  *(unsigned int *)(GP_BA+0X14)
#define GPIOB_DOUT  *(unsigned int *)(GP_BA+0X18)
#define GPIOB_PIN   *(unsigned int *)(GP_BA+0X1C)

/**************************************************/
/**************************************************/
#define IO_H       (GPIOD_DOUT|(1<<13))
#define IO_L       (GPIOD_DOUT&(~(1<<13)))
#define IO_OUT     (GPIOD_OMD|(1<<13))
#define IO_IN      (GPIOD_OMD&(~(1<<13)))
#define IO_DAT     (GPIOD_PIN&(1<<13))

#define LKT_REST_H      (GPIOB_DOUT|(1<<3))
#define LKT_REST_L      (GPIOB_DOUT&(~(1<<3)))
#define LKT_REST_OUT    (GPIOB_OMD|(1<<3))
#define LKT_REST_IN     (GPIOB_OMD&(~(1<<3)))
#define LKT_REST_DAT     (GPIOB_PIN&(1<<3))



void LKT4101_Init(void)
{
    GPIOD_PUEN&=~(1<<13);
    IO_OUT;
    LKT_REST_OUT;
    LKT_REST_L;
    IO_L;
}


上面的代码发现IO_L和LKT_REST_L无法拉低IO口,我的IO口没接任何东西,但是我读取IO数据却可以读出高低电平
沙发
598330983| | 2015-3-28 11:11 | 只看该作者
看看是不是有下拉电阻啊,端口里电阻要搞的啊

使用特权

评论回复
板凳
598330983| | 2015-3-28 11:11 | 只看该作者
配置好了电阻,然后再输出0

使用特权

评论回复
地板
mintspring| | 2015-3-28 11:43 | 只看该作者
需要配置上拉,下拉电阻的。

使用特权

评论回复
5
凌福义|  楼主 | 2015-3-28 11:44 | 只看该作者
598330983 发表于 2015-3-28 11:11
看看是不是有下拉电阻啊,端口里电阻要搞的啊

我的IO口外部有上拉电阻的啊,应该不需要配置上拉下啦电阻了把,再说我的IO口是既需要读,有需要写,这个怎么搞啊 ,请问你那儿有历程吗?我第一次玩这个

使用特权

评论回复
6
mintspring| | 2015-3-28 11:48 | 只看该作者
凌福义 发表于 2015-3-28 11:44
我的IO口外部有上拉电阻的啊,应该不需要配置上拉下啦电阻了把,再说我的IO口是既需要读,有需要写,这个 ...

关键是管脚内部有吧,我去帮你看看手册。

使用特权

评论回复
7
凌福义|  楼主 | 2015-3-28 11:49 | 只看该作者
598330983 发表于 2015-3-28 11:11
看看是不是有下拉电阻啊,端口里电阻要搞的啊

根本没有下拉电阻的配置寄存器啊  只有上拉电阻哦,再说我的IO口需要读也需要写,新唐的这个好坑啊,请问您那儿有例程吗 ?

使用特权

评论回复
8
mintspring| | 2015-3-28 11:50 | 只看该作者
凌福义 发表于 2015-3-28 11:44
我的IO口外部有上拉电阻的啊,应该不需要配置上拉下啦电阻了把,再说我的IO口是既需要读,有需要写,这个 ...

噢,我知道你的意思了,你的意思,你要像51一样,读了写,写了读,你可以这样
把那个方向寄存器和上下拉电阻配置,写到一个函数里,用那个函数取代51那种直接写的。

使用特权

评论回复
9
凌福义|  楼主 | 2015-3-28 11:50 | 只看该作者
mintspring 发表于 2015-3-28 11:48
关键是管脚内部有吧,我去帮你看看手册。

能加一下QQ吗 ?这个新唐的IO问题蛮多的,谢谢  我的QQ:1069900834,谢谢

使用特权

评论回复
10
mintspring| | 2015-3-28 11:58 | 只看该作者
官网没有找到这个芯片的手册啊,你有吗,传上来。

使用特权

评论回复
11
mintspring| | 2015-3-28 11:58 | 只看该作者
我需要根据手册看看IO管脚内部情况。

使用特权

评论回复
12
凌福义|  楼主 | 2015-3-28 12:02 | 只看该作者
mintspring 发表于 2015-3-28 11:58
官网没有找到这个芯片的手册啊,你有吗,传上来。

你说下QQ,我发你,希望能共同探讨。我的QQ:1069900834

使用特权

评论回复
13
凌福义|  楼主 | 2015-3-28 14:24 | 只看该作者
mintspring 发表于 2015-3-28 11:58
官网没有找到这个芯片的手册啊,你有吗,传上来。

请问下新唐有开漏吗 ?

使用特权

评论回复
14
mintspring| | 2015-3-28 14:30 | 只看该作者
凌福义 发表于 2015-3-28 14:24
请问下新唐有开漏吗 ?

我也不知道啊, 我没用过楼主的这个芯片。

使用特权

评论回复
15
598330983| | 2015-3-28 17:21 | 只看该作者
凌福义 发表于 2015-3-28 11:49
根本没有下拉电阻的配置寄存器啊  只有上拉电阻哦,再说我的IO口需要读也需要写,新唐的这个好坑啊,请问 ...

没有啊,我都找不到这个芯片的资料,官网没有。

使用特权

评论回复
16
598330983| | 2015-3-28 17:22 | 只看该作者
哎,我想帮楼主也帮不了,因为啊,我找不到这个芯片的资料。

使用特权

评论回复
17
tmacnumber1| | 2015-3-28 19:37 | 只看该作者
先排除是否为硬件问题:1.你可以用硬件RESET看一下先看一下有没有办法拉低 2.如果不是BGA封装可以撬起那个PIN,再用程序看一下是否能拉低;3.看一下上拉电阻是多少阻值?有可能阻值过小,换一颗10K试一下;

使用特权

评论回复
18
quray1985| | 2015-3-29 09:07 | 只看该作者
不知道楼主有没有加上拉下拉电阻啊

使用特权

评论回复
19
凌福义|  楼主 | 2015-3-29 10:57 | 只看该作者
598330983 发表于 2015-3-28 17:22
哎,我想帮楼主也帮不了,因为啊,我找不到这个芯片的资料。

目前可以拉低了,但是我的一个IO既要做输入也要做输出,我不知道是不是我的设置有问题,总是读不到低电平,所以不知道在功能翻转时该如何配置,你留个QQ把  我把资料发您的qq上,谢谢

使用特权

评论回复
20
凌福义|  楼主 | 2015-3-29 10:58 | 只看该作者
tmacnumber1 发表于 2015-3-28 19:37
先排除是否为硬件问题:1.你可以用硬件RESET看一下先看一下有没有办法拉低 2.如果不是BGA封装可以撬起那个P ...

目前可以拉低了,但是我的一个IO既要做输入也要做输出,我不知道是不是我的设置有问题,总是读不到低电平,能留个QQ给我解答一下吗 ?谢谢

使用特权

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

本版积分规则

4

主题

14

帖子

0

粉丝