首先,去ST官网,或者KEIL安装目录下面找到STEMWIN的相关驱动文件。 4 K2 {' K0 m7 [8 C$ S( M! N
在工程里面添加相关文件,文件位置,后面提供,头文件自己添加
8 {3 N% }( ?* x, m
各文件地址在:注意路径 9 H5 g. J( `" f
其中的lcdconf是改了名字的,原名如下;
$ b9 p6 R) f1 J! U
GUI_X.C ' a, ^# g; j* d) ]. A" p l
开始修改代码,改界面大小,我是OLED12864
9 e4 N$ p, W- \
#define XSIZE_PHYS 128 // To be adapted to x-screen size
3 P' u4 M( `0 Q/ l #define YSIZE_PHYS 64 // To be adapted to y-screen size
! U; T8 d$ w8 e3 a改设置,这里有一大堆,都删了,改成下面这样 2 V) }" N* S# U1 d
void LCD_X_Config(void) {
& G' a- k* d% A, n8 P% Z# I0 P, [ b. v: Q& C& C; l
# @& S; D; H% v1 ? //- @+ m3 A: J r' M4 V! k5 d
// Set display driver and color conversion( ~; P+ D# ?! S: b
//
( k) |8 c1 o/ q1 o- N GUI_DEVICE_CreateAndLink(GUIDRV_TEMPLATE, GUICC_1, 0, 0);
- H9 X: M6 g1 [- y //8 b% b" k5 Y& Y2 w+ l
// Display driver configuration, required for Lin-driver# {3 {# A- i R# i* c w" f
//
, d6 V$ \7 M, U4 E LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); k, |0 I" H2 u o, F
LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS);
( Y6 w: v4 Q$ w9 ~5 n4 I% M; g
1 a& R5 T, n2 v L# [# r
/ [1 J2 z- R0 p* t } 5 F6 _( H5 a' e3 Y" u0 w
申请内存空间
1 W7 n1 ~1 X& \+ g8 c
#define GUI_NUMBYTES 1024*409 `1 E( c6 t3 L
提供打点函数
$ t' v4 V. {8 a$ r+ W3 Q! p
OLED_Display_Data[y>>3][x] |= PixelIndex << (y%8); 9 E5 L, r9 P. ?
使能CRC校验,不然可能会在初始化的时候进入错误中断 3 T y; \& T) B" Z" { B1 E) d
__HAL_RCC_CRC_CLK_ENABLE();
3 M* m0 H! k% x$ l3 O. t 做测试代码
9 H; V D6 J( Z5 [, ? U1 J; }
GUI_Init();" i% o. e( W; j1 u
GUI_DispString("Hello world!");& z ]# b' [/ r
实物效果
5 \2 }8 u: ?8 n* w/ H/ Y |
谢谢分享哈,确实很方便啊