W806(一)模拟IIC驱动0.96OLED[移植]

前言

平头哥内核的国产开发板,资源丰富,按照官方的描述是能够吊打STM32F103C8T6的,22年刚发布的时候就买了,但是当时忙于考研,而且开发板的SDK不够完善,所以23年来填一下坑,今年我在官方群里找到了合适的SDK,感觉还不错。

正文

最初的SDK是寄存器版的,对于喜欢用库的32选手是不友好的,官方群出了一个HAL库的SDK,所以就有了这一篇学习记录。

一、移植STM32程序

既然是移植,那肯定要有原工程,中景园0.96OLED工程包合集

既然是移植,那肯定要有工程模板,W801、W806通用SDK,HAL库工程模板

链接在文章末尾

  1. CV

这一点看个人喜好,放哪里都可以,别给自己找不痛快就可以。

在project文件夹下新建文件夹HARDWARE用于存放硬件代码,将原工程中HARDWARE文件夹下的OLED文件夹复制到该HARDWARE文件夹中。

  1. CDK中添加Source

打开工程后,在工程主界面右击工程添加上一个步骤中新建的Hardware文件夹

  1. 修改OLED驱动文件

根据HAL库函数,将原有的标准库函数修改为SDK中的HAL库函数

修改这两个玩意,然后记得把头文件也改一下

  1. 配置主函数

/*
作者: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;
}

二、移植后的效果图:

需要工程文件的可以点击链接积分下载,也可以私聊我白嫖(看到会回复)

https://download.csdn.net/download/shenqijiji/87463130

posted on 2023-02-19 19:04  naive156  阅读(1)  评论(0编辑  收藏  举报  来源

导航