打印
[STM32F4]

将GuiLite移植到了STM32F4开发板上

[复制链接]
楼主: kzlzqi
手机看帖
扫描二维码
随时随地手机跟帖
21
kzlzqi|  楼主 | 2023-10-29 01:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
在 MDK 工程里面导入UICode下的GuiLite.h和UIcode.cpp文件

使用特权

评论回复
22
kzlzqi|  楼主 | 2023-10-29 01:33 | 只看该作者

使用特权

评论回复
23
kzlzqi|  楼主 | 2023-10-29 01:33 | 只看该作者
我们在 main.c 文件开头添加 GuiLite 接口代码,接口代码如下:
//画点函数接口
void gfx_draw_pixel(int x, int y, unsigned int rgb)
{
    OLED_DrawPoint(x,y,rgb);
}
//画面函数(未使用)
void gfx_draw_fill(int x, int y,int w, int q, unsigned int rgb)
{
}
//创建一个函数指针结构体
struct EXTERNAL_GFX_OP
{
void (*draw_pixel)(int x, int y, unsigned int rgb);
void (*fill_rect)(int x0, int y0, int x1, int y1, unsigned int rgb);
} my_gfx_op;
extern void startHelloCircle(void* phy_fb, int width, int height, int color_bytes, struct EXTERNAL_GFX_OP* gfx_op);

//设定延时函数接口
void delay_ms(int milli_seconds)
{
HAL_Delay(milli_seconds);
}

使用特权

评论回复
24
kzlzqi|  楼主 | 2023-10-29 01:34 | 只看该作者
之后在main函数中添加如下代码
//传递函数指针
my_gfx_op.draw_pixel = gfx_draw_pixel;
my_gfx_op.fill_rect = NULL;//gfx_fill_rect;
//启动画圆
startHelloCircle(NULL, 128, 64, 1, &my_gfx_op);

使用特权

评论回复
25
kzlzqi|  楼主 | 2023-10-29 01:34 | 只看该作者
然后我们修改UIcode.cpp文件中的代码,添加OLED头文件,以及在UI执行函数界面处添加OLED刷新函数

使用特权

评论回复
26
kzlzqi|  楼主 | 2023-10-29 01:34 | 只看该作者

使用特权

评论回复
27
kzlzqi|  楼主 | 2023-10-29 01:34 | 只看该作者
之后在UIcode的第8行修改3D圆的参数,因为OLED大小128x64 ,所以我的配置如下:

使用特权

评论回复
28
kzlzqi|  楼主 | 2023-10-29 01:34 | 只看该作者

使用特权

评论回复
29
kzlzqi|  楼主 | 2023-10-29 01:34 | 只看该作者
配置完成后,我们关闭Use MicroLIB选项,编译代码

使用特权

评论回复
30
kzlzqi|  楼主 | 2023-10-29 01:34 | 只看该作者

使用特权

评论回复
31
kzlzqi|  楼主 | 2023-10-29 01:34 | 只看该作者
编译成功,下载代码

使用特权

评论回复
32
kzlzqi|  楼主 | 2023-10-29 01:35 | 只看该作者
Gui移植结果
下载完成后程序复位,可以在OLED上看到Demo的示例动画。

使用特权

评论回复
33
kzlzqi|  楼主 | 2023-10-29 01:35 | 只看该作者
一些其他的演示效果

使用特权

评论回复
34
kzlzqi|  楼主 | 2023-10-29 01:35 | 只看该作者

使用特权

评论回复
35
kzlzqi|  楼主 | 2023-10-29 01:35 | 只看该作者

使用特权

评论回复
36
kzlzqi|  楼主 | 2023-10-29 01:35 | 只看该作者
当然也有移植到小熊派开发板的。

以下三个视频来自公众号:嵌入式应用技术研究院,作者:杨源鑫

如果你有板子,赶紧拿过来试一试吧!

使用特权

评论回复
37
Clyde011| | 2024-2-9 07:16 | 只看该作者

在其他的交流电流环路都布置好后再放置

使用特权

评论回复
38
Clyde011| | 2024-2-9 07:16 | 只看该作者

在其他的交流电流环路都布置好后再放置

使用特权

评论回复
39
公羊子丹| | 2024-2-9 08:09 | 只看该作者

I2C1的时钟可以自行选择HSI或者SYSCLK

使用特权

评论回复
40
万图| | 2024-2-9 09:12 | 只看该作者

任何与多条功率线相连的功率器件要尽可能紧挨在一起,以减短连线长度

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则