STM32F103RCT6学习笔记1:GPIO认识—点灯

今日开始快速掌握这款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: 引脚的初始化与置位方面,可以通过 “|” (或)操作来一次性初始化同一系列的多个引脚

#include "delay.h"
#include "sys.h"//GPIO_SetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_15|GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_12|GPIO_Pin_1);	void LED_init(void)
{GPIO_InitTypeDef  GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);	 //使能端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
//	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_15|GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_12|GPIO_Pin_1;	 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		   //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;      //速度50MHzGPIO_Init(GPIOC, &GPIO_InitStructure);
}int main(void)
{delay_init();NVIC_Configuration();LED_init();while(1){delay_ms(500);GPIO_SetBits(GPIOC,GPIO_Pin_2);delay_ms(500);GPIO_ResetBits(GPIOC,GPIO_Pin_2);}
}

实验效果:

 测试工程下载:

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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/82528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5.后端·新建子模块与开发(自动模式)

文章目录 学习资料自动生成模式创建后端三层 学习资料 https://www.bilibili.com/video/BV13g411Y7GS?p11&spm_id_frompageDriver&vd_sourceed09a620bf87401694f763818a31c91e 自动生成模式创建后端三层 首先,运行起来若依的前后端整个项目,…

《Python趣味工具》——自制emoji3

今日目标 在上次,我们绘制了静态的emoji图。并且总结了turtle中的常用函数。 本次我们将尝试制作一个动态的emoji,让你的表情包动起来! 文章目录 一、动画原理:二、制作动画:1. 修改eyes_black()函数:2. 绘…

Linux中如何执行命令

目录 命令格式: 命令分类: 命令帮助: 1、man 2、help 3、--help 4、info命令 终止命令: 补全命令: 1)补全命令: 2)补全文件名和目录名: 命令格式:…

智慧公厕建设,要以技术为支撑、体验为目的、业务为驱动

#智慧公厕[话题]# #智慧公厕系统[话题]# #智慧公厕厂家[话题]# #智慧公厕驿站[话题]# 在数字化城市与智慧城市的大力推进下,作为社会重要的生活设施,智慧化的公共厕所的建设变得越来越重要。作为城市的基础部件之一,公厕的智慧化建设需要进行…

2023年7月京东平板电脑行业品牌销售排行榜(京东销售数据分析)

鲸参谋监测的京东平台7月份平板电脑市场销售数据已出炉! 根据鲸参谋电商数据分析平台的相关数据显示,今年7月份,京东平台上平板电脑的销量为68万,同比增长超过37%;销售额为22亿,同比增长约54%。从价格上看…

了解:iperf网络性能测试工具

当进行网络性能测试时,可以使用iperf这个开源工具。iperf是一款网络测试工具,它能够测试TCP或UDP带宽质量,以及单向和双向吞吐量。使用iperf进行网络性能测试首先需要在被测试的两台计算机上安装iperf。 如何安装iperf? 在Debia…

JAVA -华为真题-分奖金

需求: 公司老板做了一笔大生意,想要给每位员工分配一些奖金,想通过游戏的方式来决定每个人分多少钱。按照员工的工号顺序,每个人随机抽取一个数字。按照工号的顺序往后排列,遇到第一个数字比自己数字大的,那么&#xf…

【FAQ】本地录像视频文件如何推送到视频监控平台EasyCVR进行AI视频智能分析?

安防监控平台EasyCVR支持多协议、多类型设备接入,可以实现多现场的前端摄像头等设备统一集中接入与视频汇聚管理,并能进行视频高清监控、录像、云存储与磁盘阵列存储、检索与回放、级联共享等视频功能。视频汇聚平台既具备传统安防监控、视频监控的视频能…

【文末赠书】SRE求职必会 —— 可观测性平台可观测性工程(Observability Engineering)

文章目录 〇、导读一、实现可观测性平台的技术要点是什么?二、兼容全域信号量三、所谓全域信号量有哪些?四、统一采集和上传工具五、统一的存储后台六、自由探索和综合使用数据七、总结★推荐阅读《可观测性工程》直播预告直播主题直播时间预约直播 视频…

融云观察:AI Agent 是不是游戏赛道的下一个「赛点」?

本周四 融云直播间,点击报名~ ChatGPT 的出现,不仅让会话成为了未来商业的基本形态,也把大家谈论 AI 的语境从科技产业转向了 AI 与全产业的整合。 关注【融云全球互联网通信云】了解更多 而目前最热衷于拥抱生成式 AI 的行业中&#xff0c…

Ubuntu22.04 vnc远程黑屏

一、原因 原因是Ubuntu22.04使用的gnome启用了Wayland。vnc、teamviewer、向日葵、todesk等均无法使用或者远程黑屏等。 简单的说vnc、teamviewer、向日葵、todesk等均基于xorg实现(xorg太流行),并不兼容Wayland,所以vnc无法正常…

stm32----ADC模数转换

一、ADC介绍 ADC,即模数转换器,它可以将模拟信号转化为数字信号。在stm32种一般有3个ADC,每个ADC有18个通道。 12位ADC是一种逐次逼近型模拟数字转换器,它有多达18个通道,可测量16个外部和两个内部信号源。各个通道的A…

Linux文件管理命令

Linux命令行 命令空格参数(可写可不写)空格文件(可写可不写)ls/opt 根目录下的opt文件夹ls-a 显示所有文件及隐藏文件/optls -l 详细输出文件夹内容 ls -h 输出文件大小(MB...)ls--full-time 完整时间格式输出ls-d 显示文件夹本身信息,不输出内容ls-t 根据最后修改…

js如何实现一个简单的节流函数?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 实现简单的节流函数⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入…

巨人互动|Facebook海外户Facebook有什么功能

Facebook是一款国际化的用于聊天的软件,Facebook一般情况下用户可以在其共享照片、发布评论以及在网络上发布新闻或者其他有趣内容的链接,观看短视频或者实时聊天等。那么Facebook也拥有广泛的功能和特点。 巨人互动|Google海外户&Google内容定位介绍…

SQLite 学习笔记1 - 简介、下载、安装

SQLite 简介 SQLite是一款非常轻量级的关系数据库系统,支持多数SQL92标准。SQLite 是世界上使用最广泛的数据库引擎。SQLite 内置于所有手机和大多数计算机中,并捆绑在人们每天使用的无数其他应用程序中。 SQLite 是一个由C语音开发的嵌入式库&#xff…

lv4 嵌入式开发-9 静态库与动态库的使用

目录 1 库的概念 2 库的知识 3 静态库特点 4 静态库 4.1静态库创建 4.2 编译生成目标文件 4.3 创建静态库 hello 4.4 查看库中符号信息 4.5 链接静态库 5 共享库特点 6 共享库 6.1 共享库创建 6.2 编译生成目标文件 6.3 创建共享库 common 6.4为共享库文件创建…

分布式调度 Elastic-job

分布式调度 Elastic-job 1.概述 1.1什么是任务调度 我们可以思考一下下面业务场景的解决方案: 某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券某银行系统需要在信用卡到期还款日的前三天进行短信提醒某财务系统需要在每天凌晨0:10分结算…

04-Flask-新版Flask运行方式

新版Flask运行方式 前言老版本运行方式新版本运行方式命令行方式运行pycharm运行 前言 本篇来学习下新版Flask运行方式 老版本运行方式 app.run():1.0之前版本 # -*- coding: utf-8 -*- # Time : 2023/9/16 # Author : 大海# 导入flask from flask import F…

SWC 流程

一个arxml 存储SWC (可以存多个,也可以一个arxml存一个SWC)一个arxml 存储 composition (只能存一个)一个arxml 存储 system description (通过import dbc自动生成system) 存储SWC和composition的arxml文件分开&#…