当前位置:   article > 正文

STM32F103RCT6学习笔记1:GPIO认识—点灯_stm32f103rct6引脚功能中文说明

stm32f103rct6引脚功能中文说明

今日开始快速掌握这款STM32F103RCT6芯片的环境与编程开发,有关基础知识的部分不会多唠,直接实践与运用!文章贴出代码测试工程与测试效果图:

目录

STM32F103RCT6参数解读:

GPIO的基础认识与分类:

串口相关:

定时器相关:

IIC相关:

ADC相关:

 DAC相关:

 SPI相关:

 其余引脚:

GPIO基本输出的配置:

实验设计:

代码:

实验效果:

 测试工程下载:

参考文章:


STM32F103RCT6参数解读:

根据STM32命名规则可知,通用类型,增强型,64脚

256k字节闪存,LQFP封装,工业级温度范围-40~85度。

GPIO的基础认识与分类:

拿到一块新的芯片,首先认识与分类它的GPIO是十分重要的,现在尝试认识分类一下:

                                   表格中红色的引脚表示有且只有这一个复用功能

串口相关:

TXDRXDCTSRTSCK
USART1PA9PA10PA11PA12
USART2PA2PA3PA0-WKUPPA4
USART3PB10PB11PB13PB14PB12
USART4PC10PC11
USART5PC12PD2

定时器相关:

CH1CH2CH3CH4ETRBKIN
TIM1

PB13(CH1N)

PA8

PB14(CH2N)

PA9

PB15(CH3N)

PA10

PA11PA12PB12
TIM2

PA0-WKUP

(CH1_ETR)

PA1PA2PA3
TIM3PA6PA7PB0PB1PD2
TIM4PB6

PB7

PB8PB9
TIM5PA0-WKUPPA1PA2PA3
TIM8

PA7(CH1N)

PC6

PB0(CH2N)

PC7

PB1(CH3N)

PC8

PC9PA0-WKUPPA6

IIC相关:

SCLSDASMBA
IIC1

PB6

PB7

PB5
IIC2

PB10

PB11PB12

ADC相关:

IN0IN1IN2IN3IN4IN5
ADC123PA0-WKUPPA1PA2PA3PA4PA5
IN6IN7IN8IN9IN10IN11
ADC123PA6PA7PB0PB1PC0PC1
IN12IN13IN14IN15
ADC123PC2PC3PC4PC5

 DAC相关:

OUT1OUT2OUT3OUT4OUT5
DACPA4PA5

 

 SPI相关:

NSSSCKMISOMOSI
SPI1PA4PA5PA6PA7
SPI2PB12PB13PB14PB15
SPI3PB3PB5

 

 其余引脚:

VBAT:

备用电池供电的引脚(可接一个3V的电池,当系统断电时,备用电池可以给内部的RTC时钟和备份寄存器提供电源)

PC13-TAMPER-RTC:

IO口(可以根据程序输出或读取高低电平)或者侵入检测(做安全保障功能)或者RTC(输出RTC校准时钟、RTC闹钟脉冲或者秒脉冲)

PC14-OSC32_IN 和 PC15-OSC32_OUT:

IO口或者接32.768KHz的RTC晶振

OSC_IN、OSC_OUT:

接系统的主晶振,一般是8Hz的(芯片内部有锁相环电路,可以对这个8Hz的频率进行倍频,最终产生72MHz的频率,作为系统的主时钟)

NRST:

系统复位引脚(N代表低电平复位的)

VSSA、VDDA:

内部模拟部分的电源(比如ADC、RC震荡器等),VSS是负极接GND,VCC是正极接3.3V

PB2:

IO口或者BOOT1引脚(BOOT引脚是用来配置启动模式的)

JTCK/SWCLK:

PA14,IO口或者调试端口,调试程序或者下载程序

JTDI:

PA15,IO口或者调试端口,调试程序或者下载程序

JTDO:

PB3,IO口或者调试端口,调试程序或者下载程序

NJTRST:

PB4,可以复用为普通IO使用

BOOT0:

用来做启动配置的

最后剩下10个引脚都是VSS\VDD相关的供电引脚

GPIO基本输出的配置:

这里先配置一下基本的输出---我们在查阅上述分类的表格可以发现,大部分搭载有各种模块功能的引脚都是PA、PB系列的,而PC0~PC5大多功能都只有ADC采样相关这一个复用功能,因此比较适合用来作为普通输入输出口使用:

实验设计:

使用PC2周期性点亮熄灭一个灯

代码:

Tip: 引脚的初始化与置位方面,可以通过 “|” (或)操作来一次性初始化同一系列的多个引脚

  1. #include "delay.h"
  2. #include "sys.h"
  3. //GPIO_SetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_15|GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_12|GPIO_Pin_1);
  4. void LED_init(void)
  5. {
  6. GPIO_InitTypeDef GPIO_InitStructure;
  7. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能端口时钟
  8. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  9. // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_15|GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_12|GPIO_Pin_1;
  10. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
  11. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度50MHz
  12. GPIO_Init(GPIOC, &GPIO_InitStructure);
  13. }
  14. int main(void)
  15. {
  16. delay_init();
  17. NVIC_Configuration();
  18. LED_init();
  19. while(1)
  20. {
  21. delay_ms(500);
  22. GPIO_SetBits(GPIOC,GPIO_Pin_2);
  23. delay_ms(500);
  24. GPIO_ResetBits(GPIOC,GPIO_Pin_2);
  25. }
  26. }

实验效果:

 测试工程下载:

https://download.csdn.net/download/qq_64257614/88357563?spm=1001.2014.3001.5503

 

参考文章:

对stm32F103RCT6原理图解析(详细)_ghujlhdrx的博客-CSDN博客

STM32F103RCT6-64PIN引脚功能表格_stm32f103rct6引脚功能_FLYMCUCN的博客-CSDN博客

 STM32系统结构介绍_stm32的pc13功能_藤椒鱼块的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/690745
推荐阅读
相关标签
  

闽ICP备14008679号