stm32与串口屏点灯学习

本项目主要是使用stm32核心板和触摸式串口屏,通过点击串口屏上的按钮控制单片机进行点灯操作。

一、串口屏配置

1,新建一个项目,我这里使用型号:TJC8048T050_011具有触摸功能

2,添加字库

在工具中点击字库制作,也可以在字库选项下选择之前制作的字库

3.点击页面,右侧属性中更bco为绿色,即为更改页面颜色为绿色

4,创建三个按钮

点击右侧按钮三次即为创建三个按钮,并分别点击按钮控件,更改属性font为0,表示使用字库中的第一个字库,并分别修改txt内容,分别改为:开灯、关灯、闪烁

5,发送指令

分别在三个按键的弹起事件中写入printh 01 print02 printh03

6,调试

点击左上角调试按钮进入调试界面,分别点击3个控件可以看到下方有发出01,02,03 的指令

就此,串口屏就写好了,下载到串口屏即可

二,stm32端程序

1,led代码

2,串口代码

3,主程序

注意:要注意连线要正确,就此整个工程就做完了。

如果想要整个工程请与我联系:qq:2426106857

### 使用串口控制STM32实现LED点灯 为了通过串口控制STM32实现LED点灯的操作,可以按照如下方法进行设计和编程。此方案不仅展示了如何利用串口通讯协议发送命令给STM32微控制器以改变LED状态,还强调了硬件连接的重要性以及软件部分的具体实施。 #### 硬件准备连接 确保所有电源和接线的连接正确无误[^1]。选择合适的电阻值以保护LED和STM32的GPIO引脚。对于串口STM32之间的数据传输,则需采用标准RS232或TTL电平接口完成物理层面上的数据交换;通常情况下,会选用后者因为其电压摆幅较小更适合短距离通信场景下的应用需求。 #### 软件环境搭建 推荐使用STM32CubeMX作为开发平台来进行项目创建及初始化设置工作[^3]。该工具提供了友好的图形化界面用于快速配置MCU的各项参数并自动生成相应的启动文件,极大地提高了工作效率的同时降低了人为失误的可能性。 #### 编写固件代码 下面给出一段基于HAL库编写的C语言源码片段,用来接收来自串口发出的信息并对指定端口上的LED执行开关动作: ```c #include "stm32f1xx_hal.h" UART_HandleTypeDef huart1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_USART1_UART_Init(void); int main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART1_UART_Init(); char receivedData; while (1) { if(HAL_UART_Receive(&huart1, &receivedData, sizeof(receivedData), HAL_MAX_DELAY)== HAL_OK){ switch(receivedData){ case '0': HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); // Turn off the LED connected to PA5 break; case '1': HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); // Turn on the LED connected to PA5 break; default: ;// Do nothing or handle unexpected input here. } } } } /** * @brief USART1 Initialization Function */ static void MX_USART1_UART_Init(void){ huart1.Instance = USART1; huart1.Init.BaudRate = 9600; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK){ Error_Handler(); } } ``` 这段程序定义了一个无限循环,在其中等待从USART1收到单个字符('0' 或者 '1') 来决定是否要开启或者关闭连接至PA5引脚处的一个外部LED设备。当接收到特定指令时就会调用`HAL_GPIO_WritePin()`函数去更改对应IO的状态达到控制目的。 #### 注意事项 在编写代码时,注意错误处理和异常情况的处理。如果遇到任何问题,可以查阅STM32的官方文档或在线论坛寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值