目录
STM32特殊功能引脚
使用STM32特殊功能引脚函数
禁止搬运,仅供学习,编写不易,感谢理解!!!
STM32特殊功能引脚
本篇详解文章仅以STM32F103C8T6芯片来讲解,STM32芯片除了普通的GPIO引脚以外,还有专门的特殊功能引脚,这些特殊功能引脚用于晶振信号的输入,控制单片机的复位,Booto引脚,芯片的烧录,还有备份电源区域。
这些特殊功能引脚给外界提供了,调试跟控制STM32芯片的方式,在F1系列有Booto 0 引脚跟 Booto1 引脚其中 Booto1 引脚在F4 F7系列的芯片中不在设置 Booto1 引脚,被省略设计。
引脚名称 | 功能描述 | 是否可复用为 GPIO | 对应引脚 |
---|---|---|---|
NRST | 芯片复位引脚,低电平触发系统复位 | 否 | NRST(Pin 7) |
VBAT | 备份电源引脚,为 RTC 和备份寄存器供电 | 否 | VBAT(无此功能) |
OSC_IN | 外部晶振输入引脚,用于连接外部时钟晶振 | 部分芯片支持 | OSC_IN(Pin 5) |
OSC_OUT | 外部晶振输出引脚,用于外部时钟晶振输出 | 部分芯片支持 | OSC_OUT(Pin 6) |
BOOT0 | 启动模式选择引脚,决定芯片上电后进入的启动模式 | 否 | BOOT0(Pin 34) |
JTMS/SWDIO | 调试接口引脚(JTAG/SWD 数据线输入) | 是(需禁用调试接口) | PA13(Pin 37) |
JTCK/SWCLK | 调试接口引脚(JTAG/SWD 时钟) | 是(需禁用调试接口) | PA14(Pin 36) |
JTDI | 调试接口引脚(JTAG 数据输入) | 是(需禁用调试接口) | PA15(Pin 35) |
JTDO/SWO | 调试接口引脚(JTAG 数据输出/SWD 输出) | 是(需禁用调试接口) | PB3(Pin 31) |
NJTRST | 调试接口复位引脚,用于复位 JTAG 调试器 | 是(需禁用调试接口) | PB4(Pin 30) |
STM32特殊功能引脚表格
这些特殊功能引脚对应着不同的特殊功能,部分特殊功能引脚是可以当作普通的GPIO来使用只要经过程序的写入,但是部分引脚只能当作特殊功能引脚来使用。
使用STM32特殊功能引脚函数
在上面表格里面,PA13,PA14,PA15,PB3,PB4,对应着JTAG烧录接口的特殊功能引脚通过程序AFIO禁止JTAG烧录接口,就能让这些烧录接口引脚当作GPIO引脚来使用。
// 启用 AFIO 时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);// 配置 AFIO->MAPR 禁用 JTAG,仅保留 SWDGPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
相关代码
上面的代码是禁止JTAG烧录引脚,禁止烧录引脚之后,在配置 PA13,PA14,PA15,PB3,PB4,会发现才能使用。
欢迎指正,希望对你,有所帮助!!!