CubeMX配置“硬件SPI“驱动IPS LCD

0️⃣Keywords

  • CubeMx
  • Hardware SPI
  • IPS LCD
  • STM32F411CEU6

1️⃣Process

  1. 🔽CubeMX配置基本工程

    主要配置硬件SPI

image-20210903102516104

​ 参数如下:

image-20210903102934264

❗️------------------------------❗️

ClockPolarity参数必须选择High**,才能驱动成功!

❗️------------------------------❗️

  1. 🔽生成工程,MDK打开,继续以下LCD相关驱动移植

    下载LCD驱动库文件 ( 文末免费提供),复制到Drivers目录下。

    image-20210903104754923如果是STD库版本,需要修改成HAL版本,这里我总结一般需要修改的地方:

    • 全局修改u8, u16, u36…为 uint8_t, uint16_t, uint32_t….(可以利用vscode打开LCD驱动文件夹,利用成vscode的全局替换功能实现一键修改。当然你也可以不修改,自己添加全局类型定义,这看个人习惯,为了不必要的错误造成的麻烦,我统一替换成HAL库的uintx_t格式使用。 )
    • 注释或删除标准库头文件引入,比如sys.h, delay.h等, 统一采用HAL库实现。
  2. 🔽MDK工程添加LCD相关头文件路径和.c文件。

image-20210903104908943

  1. 🔽 打开 spi.c 文件或在 main.c 初始化中, 添加以下代码,来再初始化完成后开启 SPI 数据流的闸刀。(❗️必须添加❗️)

    这里两个位置开启都可以,本质上是一样的,为了方便,防止以后遗忘添加,我采用第二种方式,在main.c 的初始化中当SPI引脚配置初始化完成后,开启。

__HAL_SPI_ENABLE(&hspi1); //开启spix数据流闸刀

第一种方式: spi.c 中添加

image-20210903105632291

第二种方式: main.c 中添加 (我选择这一种)

image-20210903105812650

  1. 🔽 移植适配
    • 修改LCD分辨率
    • 适配CubeMX配置的引image-20210903110745218
    • 修改软件模拟SPI为CubeMX配置的硬件SPI

image-20210903111234639

  1. 🔽在main.c里编写测试函数,编译烧录验证✔

    image-20210903111947174

image-20210903112345538

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: STM32CubeMX是STMicroelectronics公司提供的一款STM32微控制器的配置工具。在STM32CubeMX配置SPI驱动OLED的步骤如下: 1. 打开STM32CubeMX并新建一个项目 2. 选择你使用的STM32型号并生成初始配置 3. 在 "Pinout" 标签页中,为SPI配置IO口。 4. 在"Configuration"标签页中,启用SPI模块,并配置相关参数(波特率,模式等) 5. 在"Middleware"标签页中,添加驱动程序(如SPI-OLED驱动) 6. 下载配置并在工程中使用 7. 编写程序,初始化SPI,并使用相应的驱动程序函数驱动OLED。 需要注意的是,这仅是一般步骤,具体配置可能会因不同的型号和驱动而有所不同。 ### 回答2: STM32CubeMX是一个强大的MCU配置工具,可以为开发人员提供快速轻松的API配置和初始化代码生成,包括SPI驱动程序。而OLED,是目前非常流行且价格适中的显示器,它具有高亮度、高对比度、低功耗等优点,是物联网和消费电子领域最喜欢使用的显示器。 下面介绍如何使用STM32CubeMX配置SPI驱动OLED: 1. 打开STM32CubeMX,输入器件名称选择想要使用的STM32系列MCU,例如STM32F103C8T6。 2. 在Pinout & Configuration选项卡中选择SPI,并配置所需的引脚,例如SPI1的SCK在PA5,MOSI在PA7,CS在PA4。 3. 打开Clock Configuration选项卡,配置所需的HSI或外部时钟源,并设置所需的时钟速度。 4. 打开Configuration Icons选项卡,选择SPI或者DMA,根据需要,配置所需的SPI寄存器和DMA通道。 5. 为OLED屏打开电源,将它的IO口连接到MCU的SPI引脚上,并设置所需的速度、波特率、数据位等参数。 6. 打开生成代码选项卡,选择所需的IDE及工程路径。 7. 生成代码,将spm_dma.c和spm_dma.h文件导入工程后,添加用户数据及OLED屏幕驱动程序即可。 通过以上操作,我们就成功地通过STM32CubeMX配置SPI驱动OLED的过程,开发者可根据需要对相关代码进行不同程度的重构来实现自己的功能。作为一款免费开源的工具,STM32CubeMX能够给开发人员带来很大的便利,同时也提高了开发的效率。 ### 回答3: STM32是一种非常流行的嵌入式系统芯片,可以用来开发各种类型的应用程序,比如台式机、笔记本电脑、工业控制设备等。 在本文中,我将介绍如何使用STM32CubeMX配置SPI驱动OLED显示器。这是一个非常实用的应用场景,例如在工业控制中可以用来显示传感器数据等。 步骤: 1. 选择微控制器型号:打开STM32CubeMX软件,选择合适的STM32芯片型号,并打开工程。 2. 配置GPIO:在"PINOUT"选项卡中,将片上GPIO口与OLED的若干个引脚连接。 3. 配置SPI总线:在"CONFIGURATION"选项卡中,配置SPI总线的基本参数,例如时钟速度、数据传输方式等。 4. 配置OLED参数:在"INITIALISATION"选项卡中,设置OLED的基本参数,例如屏幕分辨率、显示模式等。 5. 生成代码:单击"GENERATE CODE"按钮,生成初始化代码、引脚配置和Makefile文件。 6. 调用SPI驱动:在应用程序中调用生成的代码,发送指令和数据到OLED,实现图像显示。 总之,STM32CubeMX是一种非常方便的工具,可以极大地简化STM32的开发工作。使用它可以快速地配置SPI驱动OLED显示器,大大提升开发效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值