[AT32F413] 为什么我这段程序下载进去它的引脚还是高电平?

[复制链接]
 楼主| 13726947584 发表于 2021-6-1 13:30 | 显示全部楼层 |阅读模式
void LED_Sys_Init(void)
{

  GPIO_InitType GPIO_InitStructure;

  //RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_AFIO, ENABLE); //¿ªÆôAFIO¸´ÓÃʱÖÓ
           /*Enable the LED Clock*/
  RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA, ENABLE);

  /*Configure the LED pin as ouput push-pull*/
  GPIO_StructInit(&GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pins = GPIO_Pins_8;                                 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP;
  GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_10MHz;       
  GPIO_Init(GPIOA, &GPIO_InitStructure);
        GPIO_ResetBits(GPIOA,GPIO_Pins_8);
}

hoop 发表于 2021-6-2 11:42 | 显示全部楼层
检查下引脚外部电路,是否有直接接到电源上。还有debug确认下GPIO的配置及输出寄存器状态
嵌入小菜菜 发表于 2021-6-2 15:38 | 显示全部楼层
你要看看这个引脚的外部是不是和电源相接了。
goodjob 发表于 2021-6-2 16:22 | 显示全部楼层
GPIO是挂在AHB总线上的吧RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA, ENABLE);这句要改成AHB
水中鱼 发表于 2021-6-2 17:02 | 显示全部楼层
goodjob 发表于 2021-6-2 16:22
GPIO是挂在AHB总线上的吧RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA, ENABLE);这句要改成AHB ...

它的资料手册上确实是挂在APB2上
勇敢的大白菜 发表于 2021-6-2 22:08 来自手机 | 显示全部楼层
看看是不是外围有电压进来,造成的引脚电平的问题
名字是啥样 发表于 2021-6-3 11:37 | 显示全部楼层
这个确实不错的案例,很棒。
goodjob 发表于 2021-6-3 14:46 | 显示全部楼层
水中鱼 发表于 2021-6-2 17:02
它的资料手册上确实是挂在APB2上

1.JPG


muyichuan2012 发表于 2021-6-4 08:55 | 显示全部楼层
RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA, ENABLE);
这个配置没有问题,GPIO虽实际挂在AHB上,但为了兼容,软件操作还是APB2.
另外,建议再检查一下代码,PA8是不是被配置为MCO输出了(AT32 demo有的是这样配置的),或者电路上有无焊接问题。我这边实测了一下,是ok的。
我只会加减乘除 发表于 2021-6-12 20:19 | 显示全部楼层
这个函数有没有引用,有时候会忘了在主函数引用。如果引用了,可能就要检查一下外围电路
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

24

帖子

1

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