STM32H750+4.3寸LCD|正点原子代码移植

因最近有做显示的需求,显示相关的代码比较复杂,而手头有一块正点原子的H750Minipro,所以花了一些时间移植正点原子的例程代码到自己的工程里。至于为什么要移植呢,是因为自己比较习惯用STM32CubeMX生成工程文件,文件中自带了硬件的初始化,而正点的初始化都是自己写的,所以需要自行移植其他部分的代码

首先,根据自己的型号,打开正点的例程(任何一个包括LCD显示和触摸功能的就可以)

我们需要手动移植的代码基本都在BSP里面了,首先需要对照着配置一下cubemx

led和key都没有用到,所以都不用管 

打开mpu.c

可以看到这里是在配置MPU,相应地我们打开cubemx,也进行一样的配置

显示部分

随后是lcd.h ,不展开介绍了,这块根据自己LCD的型号和通信方式等配置就行了(下面是我的)

再看代码,自己选择合适的文件结构,然后新建lcd.c和lcd.h,移植函数和定义等(举例我的)

 正点的代码是兼容多种lcd屏的,这样会导致代码有点冗余,所以我把跟自己型号无关的都删了(我的是NT35510)最终移植的函数如下:

触摸部分

需要移植的touch.c,gt9xxx.c(这个是我的触摸屏芯片型号对应的文件),ctiic.c(触摸屏芯片和单片机通过iic通信)

这里有一个坑,就是触摸用到的iic相关的IO口,不可以在cubemx中定义,因为有两个IO口在不同的文件中输入和输出的方向不同

最后移植的函数:

 也有很多没用到的函数,这个自己判断就可以了

微秒级延时

hal库有一个自带的函数HAL_Delay(n)可以实现毫秒级延时,下面分享一个微秒级延时的小代码

首先开启一个定时器(主频为240M)

void TimerDelay_us(uint32_t nus)
{
  uint16_t differ = 0xFFFF -nus - 5;
  __HAL_TIM_SetCounter(&htim7, differ);
  HAL_TIM_Base_Start(&htim7);
  while (differ < 0xFFFF - 5)
  {
    differ = __HAL_TIM_GET_COUNTER(&htim7);
  }
  HAL_TIM_Base_Stop(&htim7);
}

就可实现1us的延时了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
H7系列是ST最新的高性能ARM微处理器产品线,而STM32H750VBT6是H7产品线中性价比最高的产品。它具有H7系列的所有功能,例如Cortex-M7内核,400Mhz主频率,1MB分配SRAM,16K指令和数据缓存。128KB零等待Flash等,而且价格合适,非常适合高性能嵌入式应用程序开发。 该开发板基于STM32H750VBT6内核,可用于评估,学习和开发H7系列微处理器 板载ST-Link V2.1,调试,串口,U盘下载三合一。 板载资源详细信息 STM32H750VBT6高性能ARM微处理器 STM32F103CBT6微处理器用作ST-Link功能 1个RGB LED 16Mbit QSPI-Flash可以实现xIP功能(QSPI-BANK2),并且可以更改为兼容的更大容量的NOR-Flash(例如W25Q128)。 Micro-SD卡接口 LCD接口可用于驱动Arduino Mega2560专用的3.2英LCD(由于此屏幕非常便宜且显示效果非常好,因此选择该屏幕是其他屏幕),LCD驱动器型号:ILT9481 LM358运算放大器用于提高DAC输出能力,可以在5V电源下正常使用。或将其替换为LMV358以在3.3V电源下使用 超级电容器用作RTC备用电源。 带有自恢复保险丝的Micro-USB接口。 您可以设置LPUART1是否通过跳线帽连接到板载ST-LINK(左侧丝印SERIAL接头,可以通过短接跳线帽访问1〜2,3〜4)。 注意:由于端口多路复用,因此原理图中的一根线可能属于多个网络。但是,切换到PCB时,将随机保留一个网络。这将导致不同数量的原理图和PCB网络。这种情况不会影响正常的编辑和使用。在使用之前,请通过另一个ST-Link刷新板载STM32F103CB的ST-LinkV2.1引导程序。闪烁后,通过USB连接开发板。使用ST-Link实用程序更新固件后,您可以正常使用板载ST-Link。所有功能。
STM32H750和LAN8720是两种常用的硬件设备,可以在嵌入式系统中一起使用。下面是一个关于如何使用STM32H750和LAN8720的简要介绍: 1. STM32H750是STMicroelectronics公司推出的一款高性能微控制器,它基于ARM Cortex-M7内核,具有丰富的外设和强大的计算能力。它适用于各种应用领域,包括工业自动化、消费电子、医疗设备等。 2. LAN8720是一款高性能的以太网物理层收发器,支持10/100Mbps的以太网通信。它采用了低功耗设计,适用于各种嵌入式以太网应用,如工业控制、智能家居、物联网等。 要在STM32H750上使用LAN8720,您需要进行以下步骤: 1. 配置硬件连接:将LAN8720的引脚连接到STM32H750的相应引脚。具体的引脚连接可以参考硬件设计文档或开发板的原理图。 2. 配置软件:使用STM32CubeMX软件来配置STM32H750的引脚和外设。您可以选择以太网外设并配置相应的参数,例如MAC地址、速度、双工模式等。 3. 编写代码:使用C语言或其他支持的编程语言编写代码来初始化以太网外设并进行数据通信。您可以使用STM32Cube软件包中提供的驱动程序和示例代码作为起点。 4. 调试和测试:使用调试器和适当的工具来调试和测试您的代码。您可以使用串口调试工具或网络调试工具来监视和分析以太网通信。 请注意,以上步骤只是一个简要的介绍,具体的实现细节和配置可能因具体的硬件和软件环境而有所不同。建议您参考相关的文档和资料,以获得更详细和准确的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值