
1.资源扩展板介绍 1.1硬件介绍 ![]() 1.2资源扩展板可开发项目 ![]() 2. 扩展板数码管控制 2.1.实验原理 打开扩展板原理图对照扩展板可以看到扩展板上四位数码管原理图如下: ![]() 由图中可以确定数码管为共阴极数码管,DS_A、DS_B、DS_C、DS_D、DS_E、DS_F、DS_G、DS_DP分别对应数码管的每个段,对应管脚为高电平时对应的部位会被电量,因为只有一组数据信号,但是有四个数码管,所以需要通过控制DS_G1、DS_G2、DS_G3和DS_G4选择某个数码管显示内容,然后通过轮询刷新让四个数码管正常显示。 ![]() ![]() M74HC595是一个传入并出的移位寄存器,如果有多个芯片级联也可串行输出控制下一级芯片,QA~QH为并行输出,QH’为串行输出;如果本例四个LED数码管由两个M74HC595控制,第一级控制数码管显示什么,第二级控制哪个数码管显示。 ![]() 根据上述描述在编写驱动是可以通过GPIO模拟74HC595的时钟完成控制,因为74H595时序和SPI时序兼容,所以也可通过SPI控制器控制74HC595。 ![]() 74H595部分时序 ![]() SPI时序(CPHA=0 CPOL=0) ![]() 扩展板与底板接口对照图 查看芯片手册,管脚对应关系如下: ![]() 2.2. 实验目的 了解M74HC595移位寄存器 学习SPI协议的使用方法,掌握如何利用STM32MP157A芯片控制显示数码管 2.3. 实验环境 FS-MP1A开发平台 ST-Link仿真器 STM32CubeIDE开发软件 PC机 XP、Window7/10 (32/64bit) 2.4. 实验步骤 打开STM32CubeIDE,配置CubeMX。 根据21.1节,使用的是SPI默认引脚,分别对PE11、PE12、PE13和PE14配置为SPI_NSS、SPI_SCK、SPI_MISO和SPI_MOSI。切换到SPI4标签,勾选为“M4”,“Mode”选择“Full-Duplex-Master”,使用硬件片选,选择“Hardware NSS Output Signal”,其配置如下图所示。 ![]() 上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\9_EX_SPI_NUMBER】 代码设计 本次使用的是硬件SPI,就不需要自己写程序实现SPI时序,需要做的仅仅是调用HAL提供的SPI硬件操作函数,其中,调用“HAL_SPI_Transmit”函数实现主机向从机发送数据,创建driver_sm74hc.c文件,在文件中实现数码管的控制代码如下。
其中,参数“reg”表示第几个数码管显示,参数“data”表示数码管显示的内容。 在主函数中循环调用“rw_595_Register”函数即可以实现在数码管上显示特定内容,实验结果如图所示。 ![]() ———————————————— 版权声明:华清远见IT开放实验室 |
更新STM32MP135-Openwrt镜像
基于STM32MP1和STM32MP2在嵌入式Linux平台上部署有效的安全保护机制
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
STM32MP1 WiFi连接
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【STM32MPU 安全启动】 TF-A BL2 TrustedBoot原理学习
《STM32MPU安全启动》学**结
《STM32MPU安全启动》学习笔记之optee 如何加载CORTEX-M核和使能校验
《STM32MPU安全启动》学习笔记之TF-A BL2校验optee和uboot的流程以及如何使能
《STM32MPU 安全启动》课程学习心得+开启一扇通往嵌入式系统安全领域深处的大门。