1472|3

1055

帖子

3

资源

纯净的硅(中级)

【ST NUCLEO-G071RB评测】+ 驱动LCD5110显示屏及启用systick [复制链接]

本评测使用的
ST NUCLEO-G071RB
开发板来自
EEWORLD
论坛,由ST提供,以下是STM产品的链接:


   经过几天的时间将原来在STM32F103的LCD5110驱动移植到STM32G071,中途遇到了一些挫折,首先是原来运行正常的字符串显示函数在G071下编译正常通过,运行却出错,经过多天排查以及发帖求助,基本确定是指针运算出了问题,造成数组下标越界出错。因为时间紧迫,只好暂时绕过这个问题,用逐个显示单一字符来解决。然后是显示屏无数据,我开始使用的是PB2~PB6引脚,通过逻辑分析仪发现PB6引脚的时序不正常,后来换用了PB14引脚,成功地驱动了LCD5110,参见下图的波形。
LCD5110时序图.jpg

    下面是LCD5110测试的图片:
LCD5110显示.jpg


    我用系统滴答建立了一个模拟时钟(见屏幕右下角),通过测试找到了systick的初始值。当然这个时钟的使用有局限性,不光是走时不十分准确,更重要的是断电即停,每次开机需要重新校时,在这里仅仅是作测试用,如果真正要实用还是需要添加时钟模块。
    以下是系统滴答相关的函数:
  1. void systick_init(void)            //配置系统时钟
  2. {
  3.     //配置systick重载值(系统时钟64MHz,1秒)
  4.     if(SysTick_Config(16000) == 1) //毫秒=72000
  5.     {
  6.         while(1);
  7.     }
  8. }

  9. void TimingDelay_Decrement(void)   //每毫秒被调用一次
  10. {
  11.     nMs++;                         //nMs++;
  12.     if ( Timeus != 0x00)
  13.     {
  14.         Timeus--;                  //TimingDelay--;
  15.     }
  16. }


  17. void SysTick_Handler(void)         //系统时钟中断
  18. {
  19.     TimingDelay_Decrement();       //调用计数减
  20. }
复制代码


    由于开发板上仅有一个用户按键,这给校时带来了麻烦,我只好将按键设置成三种状态:点按、稍长(超过0.2秒)按、长按(半秒以上),长按用于改变调整时、分、秒及结束调整的模式,短按则将当前值加1,稍长按则将当前值加5,通过这个方法达到一键多用。下面是获取按键的代码:
  1. void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
  2. {
  3.     if(GPIO_Pin == KEY0_Pin)   //确认PC13产生下降沿脉冲
  4.     {
  5.                 key_state = 1;
  6.                
  7.                 delay_ms(200);
  8.                 if(HAL_GPIO_ReadPin(KEY0_GPIO_Port,KEY0_Pin) == 0)   key_state++;
  9.                
  10.                 delay_ms(300);
  11.                 if(HAL_GPIO_ReadPin(KEY0_GPIO_Port,KEY0_Pin) == 0)   key_state++;
  12.                
  13.                 LCD_write_value(1,4,1,0,key_state);
  14.                 LCD_write_value(11,4,1,0,mode);
  15.                 LCD_write_value(21,4,1,0,modebak);
  16.                 key0_handle();
  17.     }
  18. }
复制代码


    以下是整个工程的源码,是在KEIL5平台下建立的。
mybord.rar (7.29 MB, 下载次数: 13)

回复

11

帖子

0

资源

一粒金砂(初级)

你们是怎么下载的

回复

1055

帖子

3

资源

纯净的硅(中级)

开发板上带有调试下载器啊。

回复

71

帖子

0

资源

宇宙尘埃

了解一下!
个人签名FTP

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

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表