STMCU小助手
发布时间:2022-10-1 21:22
|
1.资源扩展板介绍 1.1硬件介绍
1.2资源扩展板可开发项目 4 }* D3 Q3 q' v" j4 j. T
% s- k8 W7 R9 M% E: x) w 2. 扩展板数码管控制# ^" k2 U* S) ]. b4 V, N 2.1.实验原理. \3 h1 j& s Z- \2 ]9 f5 G# m 打开扩展板原理图对照扩展板可以看到扩展板上四位数码管原理图如下:+ V3 K1 \2 N, F2 E4 e5 m& I4 }* J" } 9 A6 k' D3 s! p- |
由图中可以确定数码管为共阴极数码管,DS_A、DS_B、DS_C、DS_D、DS_E、DS_F、DS_G、DS_DP分别对应数码管的每个段,对应管脚为高电平时对应的部位会被电量,因为只有一组数据信号,但是有四个数码管,所以需要通过控制DS_G1、DS_G2、DS_G3和DS_G4选择某个数码管显示内容,然后通过轮询刷新让四个数码管正常显示。2 Z" E5 @2 y8 r0 M1 [
o1 [; m9 A" \; E9 s' Y; V M74HC595是一个传入并出的移位寄存器,如果有多个芯片级联也可串行输出控制下一级芯片,QA~QH为并行输出,QH’为串行输出;如果本例四个LED数码管由两个M74HC595控制,第一级控制数码管显示什么,第二级控制哪个数码管显示。 i ^3 L% Z$ D$ z4 E/ i# n
根据上述描述在编写驱动是可以通过GPIO模拟74HC595的时钟完成控制,因为74H595时序和SPI时序兼容,所以也可通过SPI控制器控制74HC595。
9 |/ j+ x& s- ]$ }/ d" I! B 74H595部分时序
SPI时序(CPHA=0 CPOL=0)
+ ?. a; i, }6 c! @' v, s9 I: j 扩展板与底板接口对照图) X- E4 a; m2 |0 ?& D) h7 c$ v0 r 查看芯片手册,管脚对应关系如下:" ~6 M; A! r) T4 ]
2.2. 实验目的 4 n, u2 y2 X5 O/ E 了解M74HC595移位寄存器5 e* X# [1 Z2 ^( |* o! t; Q 7 @4 a: P* I, X! F9 L7 I7 s 学习SPI协议的使用方法,掌握如何利用STM32MP157A芯片控制显示数码管* g) C2 W" S1 z; J 2.3. 实验环境 FS-MP1A开发平台/ P# R% {& Y! J4 O' i$ v8 z ST-Link仿真器% Z2 E2 X$ a! }% R) [9 i STM32CubeIDE开发软件9 o) w% d$ e) }! `$ I3 x PC机 XP、Window7/10 (32/64bit) 2.4. 实验步骤 打开STM32CubeIDE,配置CubeMX。 $ B8 \$ \* Y" D! p, Y 根据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”,其配置如下图所示。4 Q. R. \2 x4 L- A$ H; @' J . T9 {- R0 _: P$ h ~# i% p
& P) Q0 j# |& ^ 上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\9_EX_SPI_NUMBER】, I6 o3 z1 K. l; w5 J + j- D+ e; ` U! i4 ~; T8 _ 代码设计8 W4 t& u, W i/ y, ]4 K5 h0 k. h6 m 4 G# u: W* I7 D' B! j8 y7 X/ n6 f 本次使用的是硬件SPI,就不需要自己写程序实现SPI时序,需要做的仅仅是调用HAL提供的SPI硬件操作函数,其中,调用“HAL_SPI_Transmit”函数实现主机向从机发送数据,创建driver_sm74hc.c文件,在文件中实现数码管的控制代码如下。. o8 g$ h, J( p# ]8 K9 m/ @) p
其中,参数“reg”表示第几个数码管显示,参数“data”表示数码管显示的内容。 . w& ]6 W9 L. N! F& O1 F9 u 在主函数中循环调用“rw_595_Register”函数即可以实现在数码管上显示特定内容,实验结果如图所示。 9 E# H. t* U0 d
————————————————7 q: ^; ` |5 ?+ I 版权声明:华清远见IT开放实验室7 T( h. F1 H# {# L % R/ ~& l9 U+ Z0 C9 }6 o& w' a; ] |
STM32MP157双A核Linux + 自研RTOS双系统镜像免费下载
扩展STM32微处理器,实现高性价比、低功耗和灵活性能
STM32MP1 自举程序编程:USB DFU/USART 协议全解析
兔哥心中的ST中文论坛
我心中的ST中文论坛
STM32 开发者指南:ST.com 全新 MCU 产品阵容视觉布局深度解析
深度拆解 STM32MP1 Boot 链路
STM32串口自动识别波特率的原理
STM32MP135 MP157 MP257 CoreMark移植&&跑分对比&&多核心负载不均衡问题排查与解决
STM32--STM32 微控制器详解
微信公众号
手机版