这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【Let's do2025第1期-功率监测与控制系统DIY】-【过程帖】一、驱动

共4条 1/1 1 跳转至

【Let's do2025第1期-功率监测与控制系统DIY】-【过程帖】一、驱动SSD1315和串口打印

工程师
2025-05-28 19:27:50     打赏

简介

由于此次DIY还设计到SSD1306的屏幕显示部分, 那么本篇文章我们要完成的是通过CUBE MX生成工程,然后配置好串口输出以及I2C通讯,用于驱动SSD1306和INA219.


步骤如下

1- 系统配置使用外部时钟 8MHZ

image.png

2- 配置Debug使用 Serial wire

image.png


3- 配置串口, 建议配置成USART2, 这样的话可以直接使用STLink进行通讯。

image.png 

官方的手册说明如下:

image.png



4- 重写Fput char, 和配置串口输出。首先, 需要在项目的属性设置中,勾选newlibe-nano的支持, 否则的话就算重写了fputc或者io_putc,也一样没有任何输出。

image.png

然后是具体的Fputc或者ioputc

int __io_putchar(int ch)
{
    HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
    return ch;
}


5- 下载和测试串口输出。

	while (1) {
		printf("Hello world\r\n");
		HAL_Delay(1000);
	}

在主程序的While循环中加上打印函数。 然后串口助手进行测试

image.png

正确无误, 接下来我们来点亮SSD1306


SSD1306驱动

这次资料提供的SSD1315的并且是软件i2C, 开玩笑,真男人只用硬件I2C。 之前我记得我在论坛里分享过一个SSD1306的驱动。直接拿过来用(可以直接驱动, 两个库兼容起来还是很好的)。


1- 先把他拷贝到Drivers下

image.png


2- 配置Includes

image.png

3- 修改SSD1306.H中的Hal函数引用为当前开发板的, 然后修改地址为 #define SSD1306_I2C_ADDR        0x78

image.png

4- 配置I2C, 根据原理图配置I2C1

image.png


Cube MX 配置

image.png


5- 进行连接测试612d42646767b6696ba5283be78c469.jpg

搞定! 接下来就是使用I2C来读取INA219了。 




关键词: 功率检测系统     SSD1315     SSD1306    

专家
2025-05-28 21:54:10     打赏
2楼

感谢分享


专家
2025-05-28 21:55:32     打赏
3楼

感谢分享


专家
2025-05-28 21:57:21     打赏
4楼

感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]