当前位置:首页 > 公众号精选 > 程序员小哈
[导读]学习目标 STM32F103C8T6芯片简介 核心板原理图 搭建流水灯电路 修改工程模板 代码实现 成果展示 资料获取 推荐阅读 后台网友建议制作一个流水灯,正好发现自己有之前购买的STM32F103C8T6核心板,今天搭建一个流水灯,正好学习一下STM32 GPIO输出如何实现,将

  • 学习目标

  • 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℃。


核心板原理图


通过原理图我们可知:

  • 板子供电有两种方式:

  1. 通过U3 USB-micro接口提供5V供电,然后经过板载的LDO芯片转为VCC3V3;

  2. 通过P2 接口,即SWD下载接口中的VCC3V3给核心板供电。

  • 核心板上有两个LED,其中一个为电源指示灯PWR,另外一个LED与PC13引脚相连,当PC13置高时,LED灭;当PC13置低时,LED亮;

  • 核心板上的跳线是为了选择启动模式使用。我们为了让程序以主闪存存储器作为启动区域,需要将BOOT0置低,BOOT1随意,此种启动模式是最常用的用户FLASH启动,为默认启动模式;

  • 核心板上的按键为RESET复位按键;

  • P2接口为SWD下载模式对应的引脚接口;


  • 搭建流水灯电路

    1. 准备元器件

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

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


    搭建完毕效果图


    修改工程模板

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

    修改点:

    1. 替换启动文件,将startup_stm32f10x_hd.s更换为startup_stm32f10x_md.s,startup_stm32f10x_md.s为中等容量产品使用的启动文件,对应FLASH的大小范围为:64K≤FLASH≤128K。



    1. 修改全局宏定义,将STM32F10X_HD修改为STM32F10X_MD。



    1. 更改使用的芯片型号



    1. 设置下载的Flash容量


    注意:
    网上说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. 流水灯代码具体实现

    #include "stm32f10x.h"
    void Delay(u32 count){ u32 i=0; for(;i<count;i++);}
    int main(void){ 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); GPIO_SetBits(GPIOA,GPIO_Pin_5); GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_SetBits(GPIOA,GPIO_Pin_7); while(1) { GPIO_ResetBits(GPIOA,GPIO_Pin_5); GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_SetBits(GPIOA,GPIO_Pin_7); Delay(1000000);Delay(1000000);Delay(1000000); GPIO_SetBits(GPIOA,GPIO_Pin_5); GPIO_ResetBits(GPIOA,GPIO_Pin_6); GPIO_SetBits(GPIOA,GPIO_Pin_7); Delay(1000000);Delay(1000000);Delay(1000000); GPIO_SetBits(GPIOA,GPIO_Pin_5); GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_ResetBits(GPIOA,GPIO_Pin_7); Delay(1000000);Delay(1000000);Delay(1000000); }}


    成果展示


    资料获取

    微信公众号后台回复“流水灯”,可以下载工程源码。
    微信公众号后台回复“STM32F103核心板”,可以下载STM32F103C8T6核心板资料


    推荐阅读

    STM32单片机最小系统详解

    基于STM32固件库的MDK5工程建立

    修改Keil工程名称并添加其他模块文件




    喜欢请关注微信公众号:程序员小哈
    若觉得本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。




    公众号内容面向在校大学生、电子爱好者、嵌入式工程师;
    涉及电子制作、模块使用、单片机技术、物联网相关知识分享;
    软硬件全栈工程师,玩模块,学硬件,带你从0走到1


    免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

    本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
    换一批
    延伸阅读

    9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

    关键字: 阿维塔 塞力斯 华为

    加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

    关键字: AWS AN BSP 数字化

    伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

    关键字: 汽车 人工智能 智能驱动 BSP

    北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

    关键字: 亚马逊 解密 控制平面 BSP

    8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

    关键字: 腾讯 编码器 CPU

    8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

    关键字: 华为 12nm EDA 半导体

    8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

    关键字: 华为 12nm 手机 卫星通信

    要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

    关键字: 通信 BSP 电信运营商 数字经济

    北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

    关键字: VI 传输协议 音频 BSP

    北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

    关键字: BSP 信息技术
    关闭
    关闭