stm32最小系统板原理图_利用STM32F103C8T6最小系统板点亮流水灯

目录:

  • 学习目标
  • STM32F103C8T6芯片简介
  • 核心板原理图
  • 搭建流水灯电路
  • 修改工程模板
  • 代码实现
  • 资料获取
  • 推荐阅读

后台网友建议制作一个流水灯,正好发现自己有之前购买的STM32F103C8T6核心板,今天搭建一个流水灯,正好学习一下STM32 GPIO输出如何实现,将来驱动蜂鸣器、继电器等都会使用的。

流水灯相当于计算机语言中的“Hello World”,照着做一遍,实现了它,基本你就入门了。

学习目标

  • STM32F103C8T6最小系统板的使用
  • 面包板搭建流水灯电路的方法
  • 将STM32F103RCT6工程模板修改为STM32F103C8T6的工程模板
  • 熟悉STM32 单片机GPIO作为输出的使用方法

STM32F103C8T6芯片简介

根据STM32&STM8产品型号命名规则(参考:STM32单片机最小系统详解)可知: STM32F103C8T6这个命名中:

  • STM32代表STM32家族,32位MCU;
  • F代表产品类型为基础型;
  • 103代表特定功能为STM32基础型;
  • C代表引脚数为48&49引脚;
  • 8代表内存容量为64KB;
  • T代表封装为QFP;
  • 6代表温度范围为-40到+85℃。

核心板原理图

bfeb935fcb84bcfd118fa3137ecb08a0.png

通过原理图我们可知:

  • 板子供电有两种方式: 通过U3 USB-micro接口提供5V供电,然后经过板载的LDO芯片转为VCC3V3;通过P2 接口,即SWD下载接口中的VCC3V3给核心板供电。
  • 核心板上有两个LED,其中一个为电源指示灯PWR,另外一个LED与PC13引脚相连,当PC13置高时,LED灭;当PC13置低时,LED亮;
  • 核心板上的跳线是为了选择启动模式使用。我们为了让程序以主闪存存储器作为启动区域,需要将BOOT0置低,BOOT1随意,此种启动模式是最常用的用户FLASH启动,为默认启动模式;
  • 核心板上的按键为RESET复位按键;
  • P2接口为SWD下载模式对应的引脚接口;

搭建流水灯电路

  1. 准备元器件
1040208d731ccff26ec97e9da3e0798a.png

注意: 电阻使用的是2K,作为限流使用; LED注意正负极,直插发光二极管,引脚长的为正极,短的为负极;如果引脚被剪过了,一样长了,查看发光二极管管体内部金属极大小,金属极较小的是正极,大的片状的是负极。

  1. 搭建电路 按照如下原理图搭建电路
af9e0a6f0d98c66a1df108fb5a2ec343.png

搭建完毕效果图

7325b0752873578ad63f2fb25b20f65d.png

修改工程模板

基于STM32固件库的MDK5工程建立基础上,将STM32F103RCT6工程模板修改为STM32F103C8T6的工程模板。 修改点:

  1. 替换启动文件,将startup_stm32f10x_hd.s更换为startup_stm32f10x_md.s,startup_stm32f10x_md.s为中等容量产品使用的启动文件,对应FLASH的大小范围为:64K≤FLASH≤128K。
c676defe3bdd07e358be45c4bc2e4435.png
  1. 修改全局宏定义,将STM32F10X_HD修改为STM32F10X_MD。
45dde78a79a1e1996bc8f4cae11830a4.png
  1. 更改使用的芯片型号
3d463acf9e880e9d4f0308986c5a7576.png
  1. 设置下载的Flash容量
7385f1486758dc9a848c3101d97445b5.png

注意: 网上说STM32F103C8T6和STM32F103CBT6 是在同一圆晶上制造的,但测试时,只测试手册提供的参数范围所包含的内容,也就意味着 STM32F103C8T6也是128k Flash,只不过只测试了前面64k,然后打上 STM32F103C8T6标注(当然内部就写上 C8T6 的 ID);所以我们在添加Flash的时候,只能找到128K的STM32F103,而找不到64K的Flash。

代码实现

  1. 设置PA5、PA6、PA7为输出
GPIO_InitTypeDef  GPIO_InitStructure;   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);  
  1. 初始化GPIO为高电平,高电平的时候,LED灭
GPIO_SetBits(GPIOA,GPIO_Pin_5);   GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_SetBits(GPIOA,GPIO_Pin_7); 
  1. 流水灯代码具体实现
GPIO_SetBits(GPIOA,GPIO_Pin_5);   GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_SetBits(GPIOA,GPIO_Pin_7); ```3. 流水灯代码具体实现```#include "stm32f10x.h"  void Delay(u32 count)  {   u32 i=0;   for(;i

资料获取

微信公众号后台回复“流水灯”,可以下载工程源码。

微信公众号后台回复“STM32F103核心板”,可以下载STM32F103C8T6核心板资料

066d977691002b2b30a1637d23e25a07.png

若觉得本次分享的文章对您有帮助,随手点赞、收藏或转发分享,也是对我的支持。

欢迎评论中讨论,大家一起提高。

  • 9
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个基于STM32F103C8T6的设计原理图。以下是一个简单的电路连接示意图: ![基于STM32F103C8T6的设计原理图](https://img-blog.csdnimg.cn/20211021153234820.png) 在这个电路中,我们使用了STM32F103C8T6微控制器,连接了一个晶振和一些外设设备。以下是每个部分的详细说明: 1. 外部晶振 我们使用了一个8MHz的外部晶振来提供STM32F103C8T6的时钟信号。晶振连接到了微控制器的OSC_IN和OSC_OUT引脚上。 2. 电源电路 我们使用了一个LM7805稳压器来提供5V的电源电压,这个电压连接到了STM32F103C8T6的VDD引脚上。在本例中,我们使用了一个9V的电池来提供电源。 3. 串口连接 我们使用了STM32F103C8T6的USART1模块,将其连接到了一个串口转USB模块上。串口的TX引脚连接到了串口转USB模块的RX引脚上,RX引脚连接到了串口转USB模块的TX引脚上。这个电路可以将STM32F103C8T6与计算机连接起来,使其可以通过串口与计算机通信。 4. LED连接 我们连接了一个LED到了STM32F103C8T6的GPIOA的第5个引脚(PA5)上。这个LED可以用来指示微控制器的状态。 5. 按钮连接 我们连接了一个按钮到了STM32F103C8T6的GPIOA的第6个引脚(PA6)上。这个按钮可以用来触发微控制器的操作。 6. 蜂鸣器连接 我们连接了一个蜂鸣器到了STM32F103C8T6的GPIOA的第7个引脚(PA7)上。这个蜂鸣器可以用来产生声音。 希望这可以帮助您开始设计您的基于STM32F103C8T6的电路。如果您需要更多的帮助,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值