STM32G4备战蓝桥杯嵌入式---模块配置---数码管(拓展板)
Posted 旺旺^淞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32G4备战蓝桥杯嵌入式---模块配置---数码管(拓展板)相关的知识,希望对你有一定的参考价值。
文章目录
数码管显示
1.模块引脚
SER->PA1、RCLK->PA2、SCK->PA3
2.Cubemx实现的配置
3.生成工程
1.段码宏定义
const uint8_t Seg7[17] = 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00;
2.数码管显示程序
逻辑理解较易,此处不做解析
void SEG_Display(uint8_t SET1,uint8_t SET2,uint8_t SET3)
uint8_t SEG_Flag,i;
SEG_Flag = Seg7[SET3];
for(i = 0; i < 8; i++)
if(SEG_Flag & 0x80)
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
else
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET);
SEG_Flag <<= 1;
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);
SEG_Flag = Seg7[SET2];
for(i = 0; i < 8; i++)
if(SEG_Flag & 0x80)
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
else
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET);
SEG_Flag <<= 1;
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);
SEG_Flag = Seg7[SET1];
for(i = 0; i < 8; i++)
if(SEG_Flag & 0x80)
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
else
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET);
SEG_Flag <<= 1;
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);
3.数码管测试
输出一个520,送给那个TA.
总结
以上是关于STM32G4备战蓝桥杯嵌入式---模块配置---数码管(拓展板)的主要内容,如果未能解决你的问题,请参考以下文章
STM32G4备战蓝桥杯嵌入式---模块配置---LIS302DL(拓展板)
STM32G4备战蓝桥杯嵌入式---模块配置---获取占空比(拓展板)