你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32H503评测】+ SPI接口OLED显示

[复制链接]
STMWoodData 发布时间:2023-9-7 15:36

首先打开STM32CubeMX基于开发板方式新建项目,找到STM32H503。本次主要测试SPI接口功能。使能SPI1,因为只需要发送数据,这里就设置了只发送模式。

OLED接线:

OLED_D0------PB3 //SCK

OLED_D1------PB5 //MOSI

OLED_RST--- -PB0 //复位

OLED_DC------PB10 //命令/数据选择

OLED_CS------PA8 //CS片选

如下图所示,设置GPIO模式。

SPI分频频率不要太高了。

1.jpg

2.jpg

最终SPI配置

image.png

image.png

下面开始移植OLED库,使用的是SSD1306驱动。之前也在其他平台移植过,所以本次移植很快就成功了。

移植主要实现SPI读写命令和数据函数。

void ssd1306_Reset(void) 
{
    // CS = High (not selected)
    HAL_GPIO_WritePin(SSD1306_CS_Port, SSD1306_CS_Pin, GPIO_PIN_SET);

    // Reset the OLED
    HAL_GPIO_WritePin(SSD1306_Reset_Port, SSD1306_Reset_Pin, GPIO_PIN_RESET);
    ssd1306_mdelay(10);
    HAL_GPIO_WritePin(SSD1306_Reset_Port, SSD1306_Reset_Pin, GPIO_PIN_SET);
    ssd1306_mdelay(10);
}

// Send a byte to the command register
void ssd1306_WriteCommand(uint8_t byte) 
{
    HAL_GPIO_WritePin(SSD1306_CS_Port, SSD1306_CS_Pin, GPIO_PIN_RESET); // select OLED
    HAL_GPIO_WritePin(SSD1306_DC_Port, SSD1306_DC_Pin, GPIO_PIN_RESET); // command
    HAL_SPI_Transmit(&SSD1306_SPI_PORT, (uint8_t *) &byte, 1, HAL_MAX_DELAY);
    HAL_GPIO_WritePin(SSD1306_CS_Port, SSD1306_CS_Pin, GPIO_PIN_SET); // un-select OLED
}

// Send data
void ssd1306_WriteData(uint8_t* buffer, size_t buff_size) 
{
    HAL_GPIO_WritePin(SSD1306_CS_Port, SSD1306_CS_Pin, GPIO_PIN_RESET); // select OLED
    HAL_GPIO_WritePin(SSD1306_DC_Port, SSD1306_DC_Pin, GPIO_PIN_SET); // data
    HAL_SPI_Transmit(&SSD1306_SPI_PORT, buffer, buff_size, HAL_MAX_DELAY);
    HAL_GPIO_WritePin(SSD1306_CS_Port, SSD1306_CS_Pin, GPIO_PIN_SET); // un-select OLED
}

下面看看oled显示效果吧

image.png

image.png

image.pngimage.png

image.png

stm32h5_spi_oled.zip

收藏 评论2 发布时间:2023-9-7 15:36

举报

2个回答
STMWoodData 最优答案 回答时间:2023-9-7 15:39:17
代码:$ G$ s0 |5 {& Z6 I1 N8 c0 D
' m9 X' E- J5 R. V  s0 k
stm32h5_spi_oled.zip (1.28 MB, 下载次数: 6)
hfndhf123 回答时间:2023-9-8 13:54:21
H5除了接个屏,感觉现在H5很火啊,一货难求,有没有试试别的功能
. y) \- o: O! T0 Z' L
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版