STM32F103C8T6最小系统搭建及应用案例

一、选型及介绍

1.选型

STM32F103C8T6是家族系列中的一员,是带有ARM® Cortex®-M3内核的32位MCU。它是一款性价比很高的MCU,像单片机初学者或者MCU教学实验等各方面语言,都是不错的选择。

2.介绍

通过在正面放大镜查看,可以看出主控芯片上印有:
STM32F103C8T6
GD32
339B
CCC 1942

其中,STM32F103C8T6是芯片的型号;GD32是粤东南科技生产商;339B是芯片版本号;CCC 1942则是芯片生产批次号。

二、硬件及软件环境准备

1.硬件环境准备

STM32F103C8T6最小系统的硬件组成及连接方式如下:

    _________________ 红板_____________________
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |                                           |
   |_______________________绿板_________________|
   

2.软件环境准备

(1)使用事先下载的Keil MDK软件。
(2)使用“TeraTerm”串口调试助手,打开后设置波特率为:115200bit/s,8bit,no parity bit, 1stop bit,baudrate。

三、开发与调试

1.开发

按照最小系统原理图接线之后,通过USB线连接开发板与PC,正常情况下,PC会提示找到新硬件。
打开Keil软件,新建立一个工程,选择STM32F103C8T6芯片及对应的底层文件,通过编写代码的方式,可以实现各种不同功能。

2.调试

在Keil软件上完成代码的编写之后,可通过把代码下载到单片机,通过串口与PC进行通信,进而进行调试。
连接好串口调试助手之后,上电,即可看到电脑端通过串口打印出一堆有意义的字符串,这意味着单片机可以正常启动并运行指定程序。
其中,串口调试可以通过Keil软件调试功能,或者自己利用USART进行二次开发。

四、案例分析

1.案例:LED闪烁

(1)硬件连接方式:
将LED负极连接至开发板PB2管脚,正极连接至板载5V。
(2)代码实现:

/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
  // 第1步:启动系统时钟
  SystemInit();
  // 第2步:初始化外设GPIO
  LED_GPIO_Config();
  // 第3步:得到要设置GPIO的端口及引脚
  LED_Pin = GPIO_Pin_2;
  LED_GPIO = GPIOB;
  
  while (1)
  {
    Delay(500);
    
    GPIO_SetBits(LED_GPIO, LED_Pin);
    Delay(500);
    GPIO_ResetBits(LED_GPIO, LED_Pin);
  }
}

2.案例:按键实现LED开关

(1)硬件连接方式:
SWDIO连接PB14管脚,VCC连接板载5V,GND接GND,将按键负极连接至开发板GND管脚,正极连接至PB6管脚。
(2)代码实现:

/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
  // 第1步:启动系统时钟
  SystemInit();
  // 第2步:初始化外设GPIO
  LED_GPIO_Config();
  KEY_GPIO_Config();
  // 第3步:得到要设置GPIO的端口及引脚
  LED_Pin = GPIO_Pin_2;
  LED_GPIO = GPIOB;
  
  while (1)
  {
    if(KEY_UP == 0)
    {
      Delay(10);//按键防抖
      if(KEY_UP == 0)
      {
        while(KEY_UP == 0);
        LED_State = !LED_State;
        if(LED_State)
          GPIO_SetBits(LED_GPIO, LED_Pin);
        else
          GPIO_ResetBits(LED_GPIO, LED_Pin);
      }
    }
  }
}

五、总结

本文主要介绍了STM32F103C8T6最小系统搭建及应用案例。通过对硬件及软件环境的准备,与开发及调试的实践,对学习者来说具有一定的参考价值。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/277107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-19 13:20
下一篇 2024-12-19 13:20

相关推荐

  • Python数据统计案例的实现

    Python作为一个高级编程语言,拥有着丰富的数据处理库和工具,能够快速、高效地进行各类数据处理和分析。本文将结合实例,从多个方面详细阐述Python数据统计的实现。 一、数据读取…

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • 如何在树莓派上安装Windows 7系统?

    随着树莓派的普及,许多用户想在树莓派上安装Windows 7操作系统。 一、准备工作 在开始之前,需要准备以下材料: 1.树莓派4B一台; 2.一张8GB以上的SD卡; 3.下载并…

    编程 2025-04-29
  • 分销系统开发搭建

    本文主要介绍如何搭建一套完整的分销系统,从需求分析、技术选型、开发、部署等方面进行说明。 一、需求分析 在进行分销系统的开发之前,我们首先需要对系统进行需求分析。一般来说,分销系统…

    编程 2025-04-29
  • 云盘开源系统哪个好?

    本文将会介绍几种目前主流的云盘开源系统,从不同方面对它们做出分析比较,以此来确定哪个云盘开源系统是最适合您的。 一、Seafile Seafile是一款非常出色的云盘开源系统,它的…

    编程 2025-04-28
  • EulerOS V2R7:企业级开发首选系统

    本文将从多个方面为您介绍EulerOS V2R7,包括系统简介、安全性、易用性、灵活性和应用场景等。 一、系统简介 EulerOS V2R7是一个华为公司开发的企业级操作系统,该系…

    编程 2025-04-28
  • Python找出列表中最小的数

    Python是一种高级编程语言,它具有清晰简洁的语法和丰富的内置函数。在Python中找出列表中最小的数非常简单。下面将从算法、语法、函数等多个方面进行详细的阐述。 一、算法 找出…

    编程 2025-04-28
  • 基于Python点餐系统的实现

    在当前瞬息万变的社会,餐饮行业也在加速发展,如何更好地为客户提供更加便捷、高效、个性化的点餐服务,成为每个餐饮企业需要思考的问题。本文以基于Python的点餐系统为例,通过优化用户…

    编程 2025-04-28
  • Ubuntu系统激活Python环境

    本文将从以下几个方面详细介绍在Ubuntu系统中如何激活Python环境: 一、安装Python 在Ubuntu系统中默认已经预装了Python解释器,可以通过以下命令来检查: $…

    编程 2025-04-28

发表回复

登录后才能评论