用stm32CubeMX完成LED点亮和STM32的USART串口通讯并通过逻辑分析仪分析以上波形

目录

一、stm32CubeMX完成LED点亮

(一)、用stm32CubeMX配置一个模板

二、STM32的USART串口通讯

(一)、USART简介

(二)、STM32CubeMX实现串口通信

(三)、代码实现

三、用逻辑分析仪分析如上两个的波形

(一)、LED的波形分析

(二)、USART串口通讯波形分析

四、总结

五、文献参考



一、stm32CubeMX完成LED点亮

(一)、用stm32CubeMX配置一个模板

首先进入双击进入程序,然后NEW Project下选择ACCESS TO MCU SELECTCR

进入如下界面后在Pat Number中输入你要的芯片型号,我选择的是stm32F103C8T6

 选中你要的芯片的封装类型,然后点击Start  Project

 进入如下界面后,在system core中点击sys

在Debug选项中选择如下选项

然后选择clock configuration界面

把PLLCLK右边选上

回到如下界面后,hse那里设为Crystal/Ceramic Resonator

点击相应的引脚设置输出寄存器了,选择为GPIOX_OUTPUT

我选择的是PA0、PB0、PC15。

设置完寄存器后,回到如下界面,选择GPIO选项,点击各寄存器名字后,将把输出等级改为high

然后进入Project Manager界面

输入你的项目名称和你项目要保存的地址

将IDE那项改为MDK-ARM

点击Code Generatr,进入如下界面

将择生成初始化.c/.h文件,后面点击generate code就行了

进入你创建后的工程,如下图所示。

然后找到main文件,滑到主函数那一部分

可以在while循环中编写你的程序

我编写的程序如下,我用到是PA0,PB0,PC15

		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_RESET);
		HAL_Delay(500);
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_SET);
		HAL_Delay(500);	
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);
		HAL_Delay(500);
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);
		HAL_Delay(500);
		
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);
		HAL_Delay(500);
		
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);
		HAL_Delay(500);

将上述运行产生的HEX文件拷入单片机中 ,连接运行后如下

二、STM32的USART串口通讯

(一)、USART简介

通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的 外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。 它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据 组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。 使用多缓冲器配置的DMA方式,可以实现高速数据通信。 

 

 

 

 

(二)、STM32CubeMX实现串口通信

打开软件,点击如下

进入如下界面后,选择你需要的芯片

 

选择A->Z

选择USERT1

Mode选择Asynchronous异步通信

设置波特率、数据长度、奇偶校验、校验

 

在Categories中选择SYS

在SYS中Debug改为Serial Wire

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值