【STM32F103C8T6学习笔记1】初始化操作,时钟树配置,IO口的开启

1.所需要的器件与文件

一片STM32F103C8T6,一个ST-LINK烧录器,一个USB-TTL的串口,以及电脑等开发工具

所需文件的下载链接(本文的所有所需文件均在这里):

1.

123云盘下载链接

2.

直接下载链接

全部文件如下图所示:

2.初始化操作

首先安装CubeMX

安装好后如下所示(这里的CubeMX似乎需要登录账号后才能正常使用,因此安装好后可能还是需要去他的官网上注册一个账号来登录)

开始初始化操作,选择对应的硬件板

选中C8T6(这里可以点击左边的五角星将它收藏起来)

GPIO选择引脚PC13,设置为GPIO_Output,并设置内部上拉

配置RCC,选择内部的高速晶振时钟,另一个设置为Disable

sys设置如下图所示(这里一定不能忽略,否则你的stm32将只能烧录一次程序):

Analog与Timer暂时没有用到,先不管,设置串口,这里先只开一个串口usart1,设置如下图。串口中断啥的先不管

在上方选到时钟树界面,配置时钟树如下图所示:

再下来选到Project Manager界面,设置如下图所示

勾选如下选项(否则他会将所有的代码添加到main函数内),之后点击右上角的GENERATE CODE即可

生成代码后点击open project就能看到生成的初始化代码文件

3.安装keil,stm32的配置环境,以及vscode

点击安装keil,同时记住自己的安装路径(后面安装环境会用)。这里注意,如果你之前安装过keil,如果可以使用的话那可以不管,但如果无法正常烧录程序,建议全部卸载干净后(包括以前安装的环境包),再重新安装我提供的这个版本。因为只有少数几个版本的keil才支持市场上的大部分烧录器,这个525版本也是我多次使用都没问题的版本。

记住这里的安装路径

点击安装stm32的2个环境包,注意设置安装路径与keil保持一致

注意这里的安装路径是否与前面的一致

接下来还要安装ST-Link的驱动,上下分别是64位与32位的驱动安装包,根据自己的选择安装

接上连线,并接入电脑

点开设备管理器,观察到有方框内的结果后,应该就是驱动安装成功了

此时点开生成的My_Demo程序

这里要勾上一个小勾勾(否则后面串口通信时会出错)

再找到debug,先比对一下你的设置是否跟我这里的一致,没问题的话,就点击这里的setting

选中reset and run,这样每次烧录单片机就是自动执行新的程序

点击左上角的这4个按钮,尝试一下检查,编译,烧录是否正常,这里应该都是没有问题的(这里我自己修改过字体)

这里为了方便之后的编译,我们可以尝试使用vscode这个编译器

安装vscode

安装Keil Assistant这个插件,并点击设置

定位到自己的keil路径

接下来就可以用vscode来编译stm32了

按照下图的操作进行文件的打开(注意左边是第四行)

左边的这两个按键分别是编译与烧录

尝试一下点灯,在主程序里面添加这个一行,因为PC13这个引脚上的灯是低有效,之前开引脚时我们专门设置了上垃,现在我们把它置低(注意你的所有自己的程序只能在    /* USER CODE BEGIN */与  /* USER CODE END */之类的中间添加,否则你再使用一次CubeMX的话,他会把你新加的代码全部扬了)

  while (1)

  {

    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */

    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);

  }

  /* USER CODE END 3 */

再次编译烧录,红色电源灯旁边的小灯就会亮了

修改主程序如下所示,这样这个小灯就会成为生命指示灯,闪烁周期为2s,就可以以此观察主程序是否在正常运转

  while (1)

  {

    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */

    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);

    HAL_Delay(1000);

    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);

    HAL_Delay(1000);

  }

  /* USER CODE END 3 */

串口通信的开启,以及串口的空闲中断DMA设置,留在下一节再介绍。

有任何不足或者遗漏的地方,还望多多指正,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值