目录
前言
本文是为了解学习STM32F103C8芯片,并用其实现串口通信。
一、 STM32F103C8T6是什么?
STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。
二、准备相应工作
1.下载安装相关程序
2.安装HAL库
(1)打开安装好的STMCubeMX
(2)会跳出来一个选择型号界面 勾选上你要安装的HAL库, 点击“Install Now” 直到安装成功。(有弹窗报错一直点击ok重试,不行就重启电脑)
3.创建项目
(1)在part name里选择自己的芯片,这里是STM32F103C8T6
(2)点击system core,进入SYS,在debug下选择serial wire
(3)按以下方式配置
接下来就是点击相应的引脚设置输出寄存器了,就是output那一项,一共选了三个,是PA4,PB9,PC15
设置工程名字
进入 code generate界面,选择生成初始化.c/.h文件,后面点击generate code,选择open project,然后就到KEIL5了:
三 调试程序
项目创建成功后
打开main.c文件,滑倒主函数那一部分:
在whlie加入以下代码
char data[] = "hello,world!";
HAL_UART_Transmit(&huart1, (uint8_t *)data, 15, 0xffff);
HAL_Delay(1000);
如图
编译成功后可以生成相应的HEX文件,然后就能烧录程序了。
**如果这里报error :l6002u就要修改电脑里环境变量。**以下环境变量不能有中午
四 电路连接
1 电路连接
GND-G
3V3-3.3
RXD-A10
TXD-A9
2 烧录程序
串口显示
五 使用汇编完成
直接在keil5中创建文件
在main中输入以下代码,编译后也能生成HEX文件,之后在烧录程序,与上面相同。
;RCC寄存器地址映像
RCC_BASE EQU 0x40021000
RCC_CR EQU (RCC_BASE + 0x00)
RCC_CFGR EQU (RCC_BASE + 0x04)
RCC_CIR EQU (RCC_BASE + 0x08)
RCC_APB2RSTR EQU (RCC_BASE + 0x0C)
RCC_APB1RSTR EQU (RCC_BASE + 0x10)
RCC_AHBENR EQU (RCC_BASE + 0x14)
RCC_APB2ENR EQU (RCC_BASE + 0x18)
RCC_APB1ENR EQU (RCC_BASE + 0x1C)
RCC_BDCR EQU (RCC_BASE + 0x20)
RCC_CSR EQU (RCC_BASE + 0x24)
;AFIO寄存器地址映像
AFIO_BASE EQU 0x40010000
AFIO_EVCR EQU (AFIO_BASE + 0x00)
AFIO_MAPR EQU (AFIO_BASE + 0x04)
AFIO_EXTICR1 EQU (AFIO_BASE + 0x08)
AFIO_EXTICR2 EQU (AFIO_BASE + 0x0C