2152|13

1514

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

[ ST NUCLEO-U575ZI-Q 测评]+ 串行数码管显示驱动及参数键入 [复制链接]

 
本帖最后由 jinglixixi 于 2022-12-13 14:55 编辑

ST NUCLEO-U575ZI开发板是一款面向性能测评的开发板,但在具体使用时则需要为它配置相应的外设。

为了能更直观地查看内部的数据变化,这里为它配置了一个串行数码管显示模块来实现显示功能。

该显示模块以MAX7219为核心,并具有数据缓存、驱动和自动刷新显示功能。由于是采用串行的方式工作,故可以很好地节省GPIO口的开销。

该显示模块与开发板的连接关系为:

DIN---PA5

CLK---PA6

CS ---PA7

以GPIO口驱动该显示模块进行高低电平输出的引脚定义为:

#define DIN_SetHigh()   HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, 1)   // CLK

#define DIN_SetLow()    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, 0)

 

#define CLK_SetHigh()   HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, 1)   // DIN

#define CLK_SetLow()    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6,0)

 

#define CS_SetHigh()    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7,1)   // CS

#define CS_SetLow()     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7,0)

 

对所用引脚的配置函数为:

void app_MAX7219(void)
{
	__HAL_RCC_GPIOA_CLK_ENABLE();
	GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
	GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Pull  = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}

 

对MAX7219进行初始化处理的函数为:

void Init_MAX7219(void)
{
    Write_Max7219(0x09, 0xff);
    Write_Max7219(0x0a, 0x02);
    Write_Max7219(0x0b, 0x07);
    Write_Max7219(0x0c, 0x01);
    GPIO_InitStruct.Pull  = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}

使用MAX7219向指定地址发送控制字的函数为:

void Write_Max7219(char address,char dat)
{
    CS_SetLow();
    Write_Max7219_byte(address);
    Write_Max7219_byte(dat);
    CS_SetHigh();
}

使用图1显示效果的测试主程序为:

int main(void)
{
  HAL_Init();
  SystemClock_Config();
  SystemPower_Config();
  MX_ICACHE_Init();
  LED1_GPIO_CLK_ENABLE();
  LED2_GPIO_CLK_ENABLE();
  GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull  = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  GPIO_InitStruct.Pin = LED1_PIN;
  HAL_GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = LED2_PIN;
  app_MAX7219();
  Init_MAX7219();
  Write_Max7219(1,1);
  Write_Max7219(2,2);
  Write_Max7219(3,3);
  Write_Max7219(4,4);
  Write_Max7219(5,5);
  Write_Max7219(6,6);
  Write_Max7219(7,7);
  Write_Max7219(8,8);
  while (1)
  {
      HAL_GPIO_TogglePin(LED1_GPIO_PORT, LED1_PIN);
      HAL_Delay(100);
      HAL_GPIO_TogglePin(LED2_GPIO_PORT, LED2_PIN);
      HAL_Delay(100);
  }
}

图1  显示效果

 

此外,为了进行参数的设置,还为它配置了一个软按键,它可以实现+1、-1、移位及确认功能。

各按键与开发板的连接关系为:

K2--- PB1

K1--- PC2

K3--- PA2

K4--- PA1

其中:

K2--- 加1

K1--- 减 1

K3--- 移位

K4--- 确认PA1

 

对按键各引脚的配置函数为:

void app_key(void)
{
	__HAL_RCC_GPIOA_CLK_ENABLE();
	GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2;
	GPIO_InitStruct.Mode  = GPIO_MODE_INPUT;
    GPIO_InitStruct.Pull  = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
	
	__HAL_RCC_GPIOB_CLK_ENABLE();
	GPIO_InitStruct.Pin = GPIO_PIN_1;
	GPIO_InitStruct.Mode  = GPIO_MODE_INPUT;
    GPIO_InitStruct.Pull  = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
	
	__HAL_RCC_GPIOC_CLK_ENABLE();
	GPIO_InitStruct.Pin = GPIO_PIN_2;
	GPIO_InitStruct.Mode  = GPIO_MODE_INPUT;
    GPIO_InitStruct.Pull  = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
}

实现参数设置的主程序为:

int main(void)
{
  int i;
  HAL_Init();
  SystemClock_Config();
  SystemPower_Config();
  MX_ICACHE_Init();
  app_MAX7219();
  Init_MAX7219();
  Write_Max7219(1,0);
  Write_Max7219(2,0);
  Write_Max7219(3,15);
  Write_Max7219(4,15);
  Write_Max7219(5,15);
  Write_Max7219(6,15);
  Write_Max7219(7,15);
  Write_Max7219(8,15);
  app_key();
  i=0;
  HAL_Delay(200);
  while (1)
  {
        if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_2)==0)	i=(i+1)%100;
		if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_1)==0)  i=(i-1)%100;
		if(HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_2)==0)	i=(i*10)%100;
		Write_Max7219(1,i%10);
		Write_Max7219(2,i/10);	
		HAL_Delay(300);
  }
}

图2  键入效果  

此帖出自RF/无线论坛

最新回复

测评汇总:免费申请|ST NUCLEO-U575ZI-Q https://bbs.eeworld.com.cn/thread-1228653-1-1.html   详情 回复 发表于 2023-1-12 09:34
点赞 关注(1)
 

回复
举报

6969

帖子

11

TA的资源

版主

沙发
 

李老的作品,那是相当的优秀呀。学习了,感谢分享!

此帖出自RF/无线论坛

点评

过奖了,只是稍微认真点。  详情 回复 发表于 2022-12-13 14:54
 
 

回复

6449

帖子

9

TA的资源

版主

板凳
 

ST的还是写的快,资料多,例程多

此帖出自RF/无线论坛

点评

发现stm32u575的arduino比较少。  详情 回复 发表于 2022-12-13 15:20
同感!!!  详情 回复 发表于 2022-12-13 14:55
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

1514

帖子

1

TA的资源

五彩晶圆(初级)

4
 
lugl4313820 发表于 2022-12-13 07:37 李老的作品,那是相当的优秀呀。学习了,感谢分享!

过奖了,只是稍微认真点。

此帖出自RF/无线论坛
 
 
 

回复

1514

帖子

1

TA的资源

五彩晶圆(初级)

5
 
秦天qintian0303 发表于 2022-12-13 10:11 ST的还是写的快,资料多,例程多

同感!!!

此帖出自RF/无线论坛
 
 
 

回复

6969

帖子

11

TA的资源

版主

6
 
秦天qintian0303 发表于 2022-12-13 10:11 ST的还是写的快,资料多,例程多

发现stm32u575的arduino比较少。

此帖出自RF/无线论坛
 
 
 

回复

6969

帖子

11

TA的资源

版主

7
 
李老师在哪里下载到原理图吗,我找了好久,没找着呢。
此帖出自RF/无线论坛

点评

stm32u575原理图    详情 回复 发表于 2022-12-14 00:32
 
 
 

回复

1514

帖子

1

TA的资源

五彩晶圆(初级)

8
 
lugl4313820 发表于 2022-12-13 15:22 李老师在哪里下载到原理图吗,我找了好久,没找着呢。

stm32u575原理图

 

en.MB1549-U575ZIQ-C03_Schematic.PDF

7.83 MB, 下载次数: 2

此帖出自RF/无线论坛

点评

非常感谢老师的分享!  详情 回复 发表于 2022-12-14 06:23
 
 
 

回复

6969

帖子

11

TA的资源

版主

9
 

非常感谢老师的分享!

此帖出自RF/无线论坛

点评

别客气  详情 回复 发表于 2022-12-14 10:03
 
 
 

回复

1514

帖子

1

TA的资源

五彩晶圆(初级)

10
 
lugl4313820 发表于 2022-12-14 06:23 非常感谢老师的分享!

别客气

此帖出自RF/无线论坛
 
 
 

回复

6105

帖子

4

TA的资源

版主

11
 

刚看了一个直播 主推azure rtos stm32u575 什么的。

此帖出自RF/无线论坛

点评

其实STM32U575I-EV评估板也很不错,有机会学一块。 [attachimg]665253[/attachimg]    详情 回复 发表于 2022-12-14 19:06
 
 
 

回复

1514

帖子

1

TA的资源

五彩晶圆(初级)

12
 
damiaa 发表于 2022-12-14 15:56 刚看了一个直播 主推azure rtos stm32u575 什么的。

其实STM32U575I-EV评估板也很不错,有机会学一块。

 

此帖出自RF/无线论坛

点评

是 啊 不错!  详情 回复 发表于 2022-12-14 21:00
 
 
 

回复

6105

帖子

4

TA的资源

版主

13
 
jinglixixi 发表于 2022-12-14 19:06 其实STM32U575I-EV评估板也很不错,有机会学一块。  

是 啊 不错!

此帖出自RF/无线论坛
 
 
 

回复

1万

帖子

2853

TA的资源

管理员

14
 

测评汇总:免费申请|ST NUCLEO-U575ZI-Q https://bbs.eeworld.com.cn/thread-1228653-1-1.html

此帖出自RF/无线论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表