W806(一)模拟IIC驱动0.96OLED[移植]
前言
平头哥内核的国产开发板,资源丰富,按照官方的描述是能够吊打STM32F103C8T6的,22年刚发布的时候就买了,但是当时忙于考研,而且开发板的SDK不够完善,所以23年来填一下坑,今年我在官方群里找到了合适的SDK,感觉还不错。
正文
最初的SDK是寄存器版的,对于喜欢用库的32选手是不友好的,官方群出了一个HAL库的SDK,所以就有了这一篇学习记录。
一、移植STM32程序
既然是移植,那肯定要有原工程,中景园0.96OLED工程包合集
既然是移植,那肯定要有工程模板,W801、W806通用SDK,HAL库工程模板
链接在文章末尾
CV
这一点看个人喜好,放哪里都可以,别给自己找不痛快就可以。
在project文件夹下新建文件夹HARDWARE用于存放硬件代码,将原工程中HARDWARE文件夹下的OLED文件夹复制到该HARDWARE文件夹中。
CDK中添加Source
打开工程后,在工程主界面右击工程添加上一个步骤中新建的Hardware文件夹
修改OLED驱动文件
根据HAL库函数,将原有的标准库函数修改为SDK中的HAL库函数
修改这两个玩意,然后记得把头文件也改一下
配置主函数
/*
作者:tzh
日期:2023.02.19
功能描述:w806显示图片
----------------
模拟IIC驱动
VCC--3.3V
SCL--PA0
SDA--PA1
GND--电源地
----------------
*/
#include <stdio.h>
#include "wm_hal.h"
#include "bmp.h"
#include "oled.h"
int main(void)
{
SystemClock_Config(CPU_CLK_160M);
printf("enter main\r\n");
HAL_Init();
OLED_Init();
OLED_ColorTurn(0); //0正常显示,1 反色显示
OLED_DisplayTurn(0); //0正常显示 1 屏幕翻转显示
OLED_DrawPoint(0,0);
OLED_DrawLine(20,0,50,60);
OLED_DrawCircle(64,32,20);
OLED_Refresh();
while (1)
{
OLED_ShowPicture(0,0,128,8,BMP1);
}
return 0;
}
二、移植后的效果图:
需要工程文件的可以点击链接积分下载,也可以私聊我白嫖(看到会回复)