[MM32硬件] STM32-通行闸机1(HAL库)

[复制链接]
904|34
 楼主| 梅花香自123 发表于 2023-6-29 20:17 | 显示全部楼层 |阅读模式
关于stm32的学习,我们使用到的两个软件:MDK5和stm32cubeMX




21302649d7628c3662.png

硬件设计
  • 两个超声波模块
  • 一个红外遥控
  • 一个红外避障
  • 一个舵机(接CH340的5v引脚,单独供电)
  • 一个0.96寸OLED屏幕
  • 一个STM32F103C8T6
  • 一个CH340
  • 一个ST-Link v2
60714649d7636e057b.png





 楼主| 梅花香自123 发表于 2023-6-29 20:17 | 显示全部楼层
软件设计
使用了TIM1_CH1、TIM2_CH1、TIM3_CH1、TIM4_CH1
使用了USART1
模拟IIC

69504649d764906126.png
 楼主| 梅花香自123 发表于 2023-6-29 20:17 | 显示全部楼层
我们需要用stm32cubeMX进行项目相关配置。
1、 打开stm32cubeMX

 楼主| 梅花香自123 发表于 2023-6-29 20:17 | 显示全部楼层
新建工程
1、点击出现项目选项下拉列表

​ 2、创建新的项目

17762649d766c197e1.png

84315649d767549377.png

 楼主| 梅花香自123 发表于 2023-6-29 20:18 | 显示全部楼层
3、 这一步选择对应的单片机芯片,这里我们使用的是stm32f103c8的芯片

3、此处搜索想要的芯片型号
4、这里双击选择需要的芯片
21233649d768329723.png
 楼主| 梅花香自123 发表于 2023-6-29 20:18 | 显示全部楼层
4、 接下来进行系统时钟信号及调试的配置
5、打开与系统设置有关的下拉列表

6、点击选择时钟设置

7、高速时钟源设置

8、选择晶振

15297649d7690630fd.png

 楼主| 梅花香自123 发表于 2023-6-29 20:18 | 显示全部楼层
 楼主| 梅花香自123 发表于 2023-6-29 20:18 | 显示全部楼层
​ 9、点击打开调试相关面板

​ 10、debug及下载线路
44536649d76a853301.png

11、选择串口通信线路

12、点击打开GPIO设置面板
 楼主| 梅花香自123 发表于 2023-6-29 20:19 | 显示全部楼层
5、 接下来 红外检测 进行GPIO口的选择与配置,这里我们选择GPIOB-Pin12
13、选择GPIOB_12引脚,点击进行设置

14、将引脚功能设置为输入模式

15、点击GPIOB-Pin12

16、选择引脚 上拉/下拉

17、选择上拉输入(因为使用的红外,正常是1,遮挡是0)

18、设置别名
 楼主| 梅花香自123 发表于 2023-6-29 20:19 | 显示全部楼层
 楼主| 梅花香自123 发表于 2023-6-29 20:19 | 显示全部楼层
 楼主| 梅花香自123 发表于 2023-6-29 20:19 | 显示全部楼层
 楼主| 梅花香自123 发表于 2023-6-29 20:19 | 显示全部楼层
 楼主| 梅花香自123 发表于 2023-6-29 20:19 | 显示全部楼层
6、 接下来 OLED显示 进行GPIO口的选择与配置,这里我们选择GPIOA-Pin1(OLED_SCL),GPIOA-Pin2(OLED_SDA)。
19、选择GPIOA_Pin1,GPIOA_Pin2引脚,点击进行设置

20、将引脚功能设置为输出模式

21、点击GPIOA_Pin1,GPIOA_Pin2,看图设置

22、设置别名GPIOA-Pin1(OLED_SCL),GPIOA-Pin2(OLED_SDA)
 楼主| 梅花香自123 发表于 2023-6-29 20:20 | 显示全部楼层
 楼主| 梅花香自123 发表于 2023-6-29 20:20 | 显示全部楼层
 楼主| 梅花香自123 发表于 2023-6-29 20:20 | 显示全部楼层
7、 接下来我们进行项目相关信息的设置,这里我们可以进行项目名称,项目保存地址,开发环境的选择
注意:选择生成路径时,不能有中文路径
67441649d7704ca561.png
44473649d770c927bf.png
11168649d771280f00.png
点击生成 GENERATE CODE后会生成项目文件,生成后界面如下图。

在这里,我们可以直接点击OPEN PROJECT,也可以在项目创建目录下打开

接下来给大家介绍第二种从创建目录下打开的方法。
 楼主| 梅花香自123 发表于 2023-6-29 20:21 | 显示全部楼层
二、MDK5中的代码编写
我们首先需要了解文件夹结构
42581649d772c7a2ff.png
16986649d77311f989.png
17064649d7736013ba.png
 楼主| 梅花香自123 发表于 2023-6-29 20:21 | 显示全部楼层
了解大致之后,我们需要添加自己编写的OLED.c,OLED.h,OLED_Font.h文件
首先在Core中的Inc文件夹中创建OLED.h,OLED_Font.h
27340649d77488138a.png
 楼主| 梅花香自123 发表于 2023-6-29 20:21 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

1216

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部