【经验】MCU AT32F403的默认非GPIO Pin设置为GPIO的方法
雅特力AT32F403可以完全P2P替代STM32F103和STM32F205系列MCU,为了更加全面地利用完AT32F403的资源,本文介绍AT32F403的默认非GPIO的Pin设置为GPIO的方法。
AT32F403默认的非GPIO如下:
将以上 IO 设置为 GPIO,需要开启对应 GPIO 时钟、开启复用时钟、将 IO 配置为输入/输出/复用功能、 设置重映射、关闭入侵检测、关闭外部时钟等相应的操作。
将 OSC_IN、OSC_OUT 设置为 GPIO 输出,需要设置如下:
//开启 GPIOD 时钟、开启复用时钟
RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOD | RCC_APB2PERIPH_AFIO, ENABLE);
//关闭外部高速时钟
RCC_HSEConfig(RCC_HSE_DISABLE);
//设置 PD0、PD1 为推挽输出
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_0 | GPIO_Pins_1;GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_2MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP; GPIO_Init(GPIOD, &GPIO_InitStructure);
//设置重映射 JTAG-DP Disabled and SW-DP Enabled
GPIO_PinsRemapConfig(GPIO_Remap_PTD01, ENABLE);
注:如果要使用 PD0、PD1,则时钟初始化时不用使能 HSE、PLL 时钟源不能选择为 HSE。 2. 将 SWJ 设置为 GPIO,例如将 JTDI、JTDO、NJTRST 设置为 GPIO 输出,需要设置如下:
//开启 GPIOA、GPIOB 时钟、开启复用时钟
RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA | RCC_APB2PERIPH_GPIOB | RCC_APB2PERIPH_AFIO, ENABLE);
//设置 PA15、PB3、PB4 为推挽输出
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_15;
GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP; GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_3 | GPIO_Pins_4; GPIO_Init(GPIOB, &GPIO_InitStructure);
//设置重映射 JTAG-DP Disabled and SW-DP Enabled
GPIO_PinsRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
关于 SWJ 重映射说明:
/*!< Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST */
#define GPIO_Remap_SWJ_NoJNTRST ((uint32_t)0x01000000)
/*!< JTAG-DP Disabled and SW-DP Enabled */
#define GPIO_Remap_SWJ_JTAGDisable ((uint32_t)0x02000000)
/*!< Full SWJ Disabled (JTAG-DP + SW-DP) */
#define GPIO_Remap_SWJ_AllDisable ((uint32_t)0x04000000)
将 TAMPER-RTC、OSC32_IN、OSC32_OUT 设置为 GPIO 输出,需要设置如下:
//开启 GPIOC 时钟、开启备份接口时钟、开启电源接口时钟
RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOC, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_BKP, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_PWR, ENABLE);
//关闭入侵检测和外部低速时钟
PWR_BackupAccessCtrl(ENABLE);
BKP_TamperPinCmd(DISABLE);
//关闭入侵检测
RCC_LSEConfig(RCC_LSE_DISABLE);
//关闭外部低速时钟
PWR_BackupAccessCtrl(DISABLE);
//设置 PC13、PC14、PC15 为推挽输出
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_13 | GPIO_Pins_14 | GPIO_Pins_15;
GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP; GPIO_Init(GPIOC, &GPIO_InitStructure);
注意:如果要使用 PC14、PC15,则时钟初始化时不用使能 LSE。
- |
- +1 赞 0
- 收藏
- 评论 3
本文由蜡笔小芯提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关研发服务和供应服务
评论
全部评论(3)
-
dylen Lv7. 资深专家 2021-02-20学习
-
夏拉 Lv7. 资深专家 2021-02-20学习
-
好运常伴吾 Lv8. 研究员 2021-02-20学习
相关推荐
AT32讲堂 | 解析雅特力AT32 MCU HICK时钟校准
AT32系列MCU内部都有提供适合运行的内部高速时钟(HICK),在25℃下,其典型值频率8MHz的精度由工厂校准到±1%,在-40到105℃,该内部高速时钟的精度达到±2.5%,可见精度会受到温度的影响。为了降低环境温度对精度造成的影响,用户可在运行时间隙调用校准程序来进行校准。
设计经验 发布时间 : 2024-09-29
【经验】雅特力AT32 MCU CAN入门指南
CAN是Controller Area Network的缩写(以下称为CAN),它的设计目标是以最小的CPU负荷来高效处理大量的报文。本文介绍雅特力AT32 MCU CAN入门指南
设计经验 发布时间 : 2023-02-08
【经验】雅特力MCU AT32F403ARCT7串口实验出意外导致无法使用问题的分析
在使用雅特力AT32F403ARCT7 MCU做串口实验时出了点意外,串口一直无法使用。首先需要将AT32F403ARCT7 上的 PB6 重映射为USART1_TX。介绍了串口无法往外发送数据,定义和初始化修改步骤。
设计经验 发布时间 : 2022-08-11
Top Chinese 8/32-bit MCU Manufacturers with ARM Cortex-M0, M0+, M3, M4 and Stable Supply
In the face of rising semiconductor raw material prices and a continued shortage of production capacity, Sekorm has joined Civil Technology, Arteli, Chipsea, China Microelectronics, Fudan Microelectronics, Aerospace Shun, and other mainstream MCU manufacturers to provide stable MCU supply guarantees
活动 发布时间 : 2022-06-21
雅特力32位MCU-AT32快速选型指南
型号- AT32F413CCU7,AT32F437ZCT7,AT32F415CBT7,AT32F415R8T7,AT32F425F8P7,AT32F437ZGT7,AT32F403ZET6,AT32F421K6T7,AT32F425C6U7,AT32F437VMT7,AT32F425R8T7,AT32F437RGT7,AT32F421K4U7-4,AT32F437RCT7,AT32F403ARGT7,AT32WB415CCU7-7,AT32F413CBT7,AT32F435CMT7,AT32F403ARCT7,AT32F415CCU7,AT32F435RCT7,AT32F435ZGT7,AT32F403AVET7,AT32F435RGT7,AT32F435VMT7,AT32F421C6T7,AT32F403ACET7,AT32F413KBU7-4,AT32F435ZCT7,AT32WB415,AT32F435CMU7,AT32F413CBU7,AT32F415KBU7-4,AT32F407RCT7,AT32F403ACGU7,AT32F407VET7,AT32F425K8U7-4,AT32F407RGT7,AT32F403ACCU7,AT32F415RCT7,AT32F425R8T7-7,AT32F415CBU7,AT32F425K6T7,AT32F421K6U7,AT32F425K6U7-4,AT32F425C6T7,AT32F421G4U7,AT32F415RBT7-7,AT32F421G8U7,AT32F421F4P7,AT32F421F8P7,AT32F413RCT7,AT32F425R6T7-7,AT32F413KCU7-4,AT32F413,AT32F425F6P7,AT32F415,AT32F437VCT7,AT32F421K4T7,AT32F437VGT7,AT32F437ZMT7,AT32F421K8T7,AT32F425C8U7,AT32F403ZGT6,AT32F403ZCT6,AT32F425R6T7,AT32F413C8T7,AT32F415RBT7,AT32F421,AT32F403ARET7,AT32F403,AT32F435VGT7,AT32F435CGT7,AT32F407,AT32F435VCT7,AT32F421C8T7,AT32F435CCT7,AT32F403ACGT7,AT32F403AVGT7,AT32F421C4T7,AT32F403ACCT7,AT32F435ZMT7,AT32F403AVCT7,AT32F413RBT7,AT32F415C8T7,AT32F435,AT32F415RCT7-7,AT32F437,AT32F435CGU7,AT32F407VCT7,AT32F415CCT7,AT32F407VGT7,AT32F435CCU7,AT32F415KCU7-4,AT32,AT32F407RET7,AT32F403ACEU7,AT32F415K8U7-4,AT32F415R8T7-7,AT32F435RMT7,AT32F413CCT7,AT32F425,AT32F421K4U7,AT32F425K8T7,AT32F421K8U7-4,AT32F421K8U7,AT32F425C8T7,AT32F437RMT7,AT32F421G6U7,AT32F421K6U7-4,AT32F421F6P7,AT32F403A
AT32讲堂 | 雅特力AT32 MCU的随机数生成
本章介绍了使用软件触发方式触发ADC,配置普通信道和DMA。本篇应用笔记适用于AT32各系列MCU,只要有ADC外设皆可适用。
设计经验 发布时间 : 2024-09-29
【经验】雅特力AT32 MCU如何使用OTA通过USART实现对固件的在线升级更新
雅特力AT32 MCU如何使用OTA通过USART对固体在线升级更新?OTA(空中下载技术)是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后便于通过预留的通信口,对产品中的固件程序进行更新升级。
设计经验 发布时间 : 2022-04-28
【经验】 雅特力AT32 MCU Printf的功能使用方法
内容概述本文档主要介绍雅特力AT32 MCU在Keil和IAR两种工程环境下的printf功能使用方法。其共包含6种方法,各方法的具体用法在具体内容中描述。
设计经验 发布时间 : 2022-05-26
雅特力携多款AT32 MCU新品与应用方案亮相2024慕尼黑上海电子展
7月8日,2024慕尼黑上海电子展electronica China在上海新国际博览中心拉开序幕,作为全球电子行业的盛会,汇聚了国内外众多优质电子企业。雅特力携高性能AT32 MCU与应用方案齐亮相,呈现了多款电机控制、工业控制、汽车电子、智能家居、消费、商务,及新能源等应用方案。现场人流攒动、氛围热烈!
原厂动态 发布时间 : 2024-07-17
【经验】雅特力AT32 MCU USB设备库的架构和使用方法
本文主要介绍雅特力MCU AT32 USB设备库的结构和库的使用方法,AT32 USB是基于USB2.0全速设备,不支持USB2.0高速设备。这里库的作用是用来管理USB外设和实现USB的基本协议,使开发者能够更快的上手开发。
设计经验 发布时间 : 2023-03-04
【经验】解析雅特力AT32系列MCU RTC入门指南
RTC计数逻辑位于电池供电域,内部为一个32位递增计数器,只要电池供电域有电,RTC便会一直运行,不受系统复位以及VDD掉电影响。本文雅特力将为大家介绍AT32系列MCU的RTC入门指南。
设计经验 发布时间 : 2023-04-25
如何在雅特力AT32 MCU上创建IAP应用程序
如何在雅特力AT32 MCU上创建IAP应用程序,文章概述了AT32 CAN IAP快速使用方法即使用CAN进行IAP升级,此示例使用PC上位软件(IAP_Programmer.exe)通过一个USB转CAN的桥接设备和目标板进行通信,IAP Demo和桥接设备默认CAN波特率使用500K。
设计经验 发布时间 : 2024-07-08
【经验】如何使用雅特力MCU AT32F407的以太网通信接口实现在应用中编程?
在应用中编程(IAP)是一种在现场通过MCU通信接口(例如USART、USB、CAN和以太网)进行固件升级的方式。本文将介绍两种使用以太网通信外设在雅特力MCU AT32F407上实现IAP的解决方案。
设计经验 发布时间 : 2022-10-15
【经验】如何使用雅特力AT32 MCU主机库快速开发USB相关应用
本文主要介绍雅特力MCU AT32 USB主机库的结构和库的使用方法,AT32 USB支持全速和低速,不支持USB2.0高速设备。这里库的作用是用来管理USB外设和实现USB的基本协议,使开发者能够更快的上手开发。
设计经验 发布时间 : 2023-01-18
AT32F405/402 Series Datasheet ARM®-based 32-bit Cortex®-M4 MCU with FPU, 128 to 256 KB Flash, sLib, 14 timers, 1 ADC, 19 communication interfaces (CAN, OTGHS, OTGFS)
型号- AT32F402RBT7-7,AT32F405XXU7,AT32F405KBU7-4,AT32F402CCT7,AT32F402CBT7,AT32F405KCU7-4,AT32F405CBU7,AT32F405CCU7,AT32F405 SERIES,AT32F402RCT7-7,AT32F402 SERIES,AT32F402KBU7-4,AT32F405XXT7-7,AT32F402KCU7-4,AT32F402XXU7,AT32F402RCT7,AT32F402RBT7,AT32F402XXT7-7,AT32F402CBU7,AT32F402,AT32F405,AT32F405CCT7,AT32F402CCU7,AT32F405CBT7,AT32F405RBT7,AT32F405RCT7,AT32F405XXU7-4,AT32F405XXT7,AT32F405RBT7-7,AT32F402XXT7,AT32F402XXU7-4,AT32F405RCT7-7
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论