[AT32F415] 415CBT7读取GPIO寄存器CTRLH直接进入HardFault_Handler-done

[复制链接]
1322|7
 楼主| gameboy374 发表于 2021-3-31 22:18 | 显示全部楼层 |阅读模式
本帖最后由 muyichuan2012 于 2021-4-1 13:01 编辑

配置的管脚为PC15
微信截图_20210331221328.png
微信截图_20210331221522.png
微信截图_20210331221625.png
muyichuan2012 发表于 2021-4-1 08:32 | 显示全部楼层
本帖最后由 muyichuan2012 于 2021-4-1 08:41 编辑

您好,PC15是默认的晶振脚,需要remap后才能做普通IO使用。稍后我把代码贴上。

pc15.png


ArterySW 发表于 2021-4-1 09:36 | 显示全部楼层
  RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOC, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_PWR, ENABLE);

  PWR_BackupAccessCtrl(ENABLE);
  RCC_LSEConfig(RCC_LSE_DISABLE);
  PWR_BackupAccessCtrl(DISABLE);
  
  GPIO_StructInit(&GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pins = GPIO_Pins_15;                                 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP;
  GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_50MHz;       
  GPIO_Init(GPIOC, &GPIO_InitStructure);

初始化PC15前关闭LSE,注意要开启PWR时钟。
 楼主| gameboy374 发表于 2021-4-1 09:56 | 显示全部楼层
ArterySW 发表于 2021-4-1 09:36
RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOC, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_PWR, ...

按照您的代码关闭低速时钟还是存在相同的问题:
微信截图_20210401095517.png
微信截图_20210401095543.png
 楼主| gameboy374 发表于 2021-4-1 10:05 | 显示全部楼层
感谢版主支持,已经找到问题,供应商发错了,发来的是421芯片
单片小菜 发表于 2021-4-1 15:53 | 显示全部楼层
你的指针飞了,好好检查一下代码吧。

评论

代理商不小心发错了货  发表于 2021-4-1 19:10
里面有晴雨 发表于 2021-4-1 17:14 | 显示全部楼层
感谢楼主的分享,不错的一次体验,很棒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部