问题是这样子的,我的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数据却可以读出高低电平 |