使用了 RT-Spark(Spark-1)开发板,构建一个简单的用户界面项目
扫描二维码
随时随地手机看文章
这是一个使用 RT-Spark(Spark-1)开发板的简单用户界面(UI)项目,该开发板采用的是 STM32F407ZGT6 微控制器芯片。该项目专注于读取开关输入,并通过控制 LED 和在 RT-Spark 内置的液晶显示屏上显示消息来做出响应。它展示了 GPIO 的基本使用方法,以及微控制器如何实时与用户进行交互。其目的是了解硬件和软件如何协同工作以创建一个简单且功能完备的嵌入式系统。
该项目采用了内置的液晶显示屏,其分辨率为 240x240,并通过灵活静态存储控制器(FSMC)进行通信。
该项目的目标包括编写简单的 C 语言程序来监测外部开关、控制外部 LED 以及在内置液晶显示屏上显示数值。
内置液晶显示屏测试
在继续操作之前,必须先对内置的液晶显示屏进行测试,以确认其正常工作。
•创建一个新的 STM32 项目,选择 STM32F407ZGT6 微控制器,并保留默认设置。
•接下来,找到 PF9 引脚并将其设置更改为输出模式,以测试液晶显示屏的背光功能。
•接下来,进入 GPIO 设置界面,并将该引脚命名为“LCD”。
•最后,生成代码并将测试代码粘贴到你的 main.c 文件中,以测试液晶显示屏。
结果:您应该会看到背光灯亮起。这表明背光灯工作正常,不过还需要对液晶显示屏进行进一步检查确认。
设置内置液晶显示屏的通信连接
由于背光装置已确认能正常工作,我们现在可以开始测试外围通信接口了。
•若想节省时间且无需使用实时操作系统(RTOS),请跳过官方的软件开发工具包(SDK),直接从我的资源库下载所提供的“项目所用库”。
•接下来,在芯片上找到 PD3 引脚,并将其标注为“LCD_RST”。
•接下来,进入 FSMC 设置界面,并按照如下所示配置模式。
•生成代码,然后将这个特定的代码段粘贴到你的 main.c 文件中。
结果:
一旦内置的液晶显示屏通过了测试,并且其外围通信配置完毕,项目便继续进行编写简单的 C 语言程序,这些程序用于读取外部开关的状态并控制外部的 LED 灯。
硬件布线与引脚映射
LED 配置(低电平激活):
•红色 LED 与微控制器的 PA2 引脚相连。
•绿色 LED 与微控制器的 PA3 引脚相连。
•蓝色LED连接到微控制器的 PA0 引脚。
•每个发光二极管都与一个 220 欧姆的电阻器串联连接。
•每个 LED 的阴极(短引脚)都与公共面包板的地线(GND)相连。
按钮配置(低电平激活):
•“向上”按钮与引脚 PG0 相连。
•“向下”按钮与插针 PG1 相连。
•“左”按钮与引脚 PG2 相连。
•“右”按钮与引脚 PG5 相连。
•“中心”按钮与插脚 PG6 相连。
每个按钮的一端都与相应的 GPIO 引脚相连,而另一端则与公共面包板的地线相连。
当电路板通电时,它首先会设置基本的硬件和屏幕。它将显示屏调为绿色,显示“开始”字样,并等待一秒钟以便能够被读取。接下来,它会确保所有发光二极管都处于关闭状态,然后进入一个无限循环。在这个循环中,程序会持续检查按钮。每当有一个按钮被按下时,它就会更新屏幕并控制发光二极管的开启或关闭。此外,在每次检查的末尾还会添加一个微小的延迟(去抖动),以防止按钮的按下操作出现抖动现象。
本文编译自hackster.io





