<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-CN">
	<id>http://www.ingcool.cn/w/index.php?action=history&amp;feed=atom&amp;title=E-paper_for_STM32_Use</id>
	<title>E-paper for STM32 Use - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://www.ingcool.cn/w/index.php?action=history&amp;feed=atom&amp;title=E-paper_for_STM32_Use"/>
	<link rel="alternate" type="text/html" href="http://www.ingcool.cn/w/index.php?title=E-paper_for_STM32_Use&amp;action=history"/>
	<updated>2026-04-08T07:55:23Z</updated>
	<subtitle>本wiki的该页面的版本历史</subtitle>
	<generator>MediaWiki 1.31.7</generator>
	<entry>
		<id>http://www.ingcool.cn/w/index.php?title=E-paper_for_STM32_Use&amp;diff=190&amp;oldid=prev</id>
		<title>INKU-admin123：创建页面，内容为“='''STM32'''= ==硬件连接== 我们提供的例程是基于STM32F103ZET6的，提供的连接方式也是对应的STM32F103ZET6的引脚，如果有需要移植程…”</title>
		<link rel="alternate" type="text/html" href="http://www.ingcool.cn/w/index.php?title=E-paper_for_STM32_Use&amp;diff=190&amp;oldid=prev"/>
		<updated>2020-04-21T06:51:25Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“=&amp;#039;&amp;#039;&amp;#039;STM32&amp;#039;&amp;#039;&amp;#039;= ==硬件连接== 我们提供的例程是基于STM32F103ZET6的，提供的连接方式也是对应的STM32F103ZET6的引脚，如果有需要移植程…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;='''STM32'''=&lt;br /&gt;
==硬件连接==&lt;br /&gt;
我们提供的例程是基于STM32F103ZET6的，提供的连接方式也是对应的STM32F103ZET6的引脚，如果有需要移植程序，请按实际引脚连接&lt;br /&gt;
{|border=1; style=&amp;quot;width:700px;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+STM32F103ZET连接引脚对应关系&lt;br /&gt;
|-style=&amp;quot;background:#2E8B57; color:white;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|e-Paper||STM32&lt;br /&gt;
|-align=&amp;quot;center&amp;quot;&lt;br /&gt;
|Vcc||3.3V&lt;br /&gt;
|-align=&amp;quot;center&amp;quot;&lt;br /&gt;
|GND||GND&lt;br /&gt;
|-align=&amp;quot;center&amp;quot;&lt;br /&gt;
|DIN||PA7&lt;br /&gt;
|-align=&amp;quot;center&amp;quot;&lt;br /&gt;
|CLK||PA5&lt;br /&gt;
|-align=&amp;quot;center&amp;quot;&lt;br /&gt;
|CS||PA4&lt;br /&gt;
|-align=&amp;quot;center&amp;quot;&lt;br /&gt;
|DC||PA2&lt;br /&gt;
|-align=&amp;quot;center&amp;quot;&lt;br /&gt;
|RST||PA1&lt;br /&gt;
|-align=&amp;quot;center&amp;quot;&lt;br /&gt;
|BUSY||PA3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==软件说明==&lt;br /&gt;
例程是基于HAL库进行开发的。&lt;br /&gt;
下载程序，找到STM32程序文件目录，打开STM32\STM32-F103ZET6\MDK-ARM目录下的epd-demo.uvprojx，即可看到程序。&amp;lt;br /&amp;gt;&lt;br /&gt;
[[file:e-paper_stm32_code1.png|500px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
打开main.c，可以看到所有的测试程序，把对应的屏幕的测试程序前面的注释去掉，重新编译下载即可。&amp;lt;br /&amp;gt;&lt;br /&gt;
[[file:e-paper_stm32_code2.png|500px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==程序说明==&lt;br /&gt;
===底层硬件接口===&lt;br /&gt;
我们进行了底层的封装，由于硬件平台不一样，内部的实现是不一样的，如果需要了解内部实现可以去对应的目录中查看&amp;lt;br /&amp;gt;&lt;br /&gt;
在DEV_Config.c(.h)可以看到很多定义，在目录：\STM32\STM32-F103ZET6\User\Config&amp;lt;br /&amp;gt;&lt;br /&gt;
*数据类型：&lt;br /&gt;
 #define UBYTE   uint8_t&lt;br /&gt;
 #define UWORD   uint16_t&lt;br /&gt;
 #define UDOUBLE uint32_t&lt;br /&gt;
*模块初始化与退出的处理：&lt;br /&gt;
 void DEV_Module_Init(void);&lt;br /&gt;
 void DEV_Module_Exit(void);&lt;br /&gt;
 注意：&lt;br /&gt;
 1.这里是处理使用墨水屏前与使用完之后一些GPIO的处理。&lt;br /&gt;
 2.对于PCB带有Rev2.1的，DEV_Module_Exit()之后整个模块会进入低功耗，经过测试这个功耗基本为0;&lt;br /&gt;
*GPIO读写：&lt;br /&gt;
 void DEV_Digital_Write(UWORD Pin, UBYTE Value);&lt;br /&gt;
 UBYTE DEV_Digital_Read(UWORD Pin);&lt;br /&gt;
*SPI写数据&lt;br /&gt;
 void DEV_SPI_WriteByte(UBYTE Value);&lt;br /&gt;
&lt;br /&gt;
===中间层墨水屏驱动===&lt;br /&gt;
e-paper驱动代码文件，在目录：\STM32\STM32-F103ZET6\User\e-Paper&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
打开.h可以看到如下的函数&amp;lt;br /&amp;gt;&lt;br /&gt;
*墨水屏初始化，再屏幕开始工作时和退出睡眠模式之后调用&lt;br /&gt;
 '''//2.13inch e-Paper、2.9inch e-Paper&lt;br /&gt;
 void EPD_xxx_Init(UBYTE Mode); // Mode = 0 全局刷新初始化、Mode = 1 局部刷新初始化&lt;br /&gt;
 '''//其他型号&lt;br /&gt;
 void EPD_xxx_Init(void);&lt;br /&gt;
其中xxx表示，墨水屏型号。如是是2.13,全屏初始化那么是EPD_2IN13_V2_Init(0)，局部刷新初始化EPD_2IN13_V2_Init(1)；&lt;br /&gt;
&lt;br /&gt;
*清屏，把墨水屏刷成白色&lt;br /&gt;
 void EPD_xxx_Clear(void); &lt;br /&gt;
其中xxx表示，墨水屏型号。如是是2.13,那么是EPD_2IN9_V2_Clear()；&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*传输一帧的图片数据并打开显示&lt;br /&gt;
 '''//黑白双色墨水屏&lt;br /&gt;
 void EPD_xxx_Display(UBYTE *Image);&lt;br /&gt;
&lt;br /&gt;
 '''//2.13inch e-paper 由于控制芯片升级，对于局部刷新,需要调用EPD_xxx_DisplayPartBaseImage显示静态的背景图片，也就是以这个图片为基础进行局部刷新，然后调用动态的EPD_xxx_DisplayPart()&lt;br /&gt;
 void EPD_2IN13_V2_DisplayPart(UBYTE *Image);&lt;br /&gt;
 void EPD_2IN13_V2_DisplayPartBaseImage(UBYTE *Image);&lt;br /&gt;
&lt;br /&gt;
*进入睡眠模式&lt;br /&gt;
 void EPD_xxx_Sleep(void);&lt;br /&gt;
注意进入了睡眠模式，只有两个方式能够重新工作：第一种硬件复位，第二种重新调用初始化函数&amp;lt;br /&amp;gt;&lt;br /&gt;
其中xxx表示，墨水屏型号。如是是2.13D,那么是EPD_2IN13D_Sleep()；如果是7.5B，那就是EPD_7IN5BC_Sleep()，因为7.5B与7.5C公用驱动代码，只是显示的颜色不一样&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===上层应用===&lt;br /&gt;
对于屏幕而言，如果需要进行画图、显示中英文字符、显示图片等怎么办，这些都是上层应用做的。这有很多小伙伴有问到一些图形的处理，我们这里提供了一些基本的功能&lt;br /&gt;
在如下的目录中可以找到GUI，在目录：\STM32\STM32-F103ZET6\User\GUI\GUI_Paint.c(.h)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在如下目录下是GUI依赖的字符字体，在目录：\STM32\STM32-F103ZET6\User\Fonts&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*新建图像属性:新建一个图像属性，这个属性包括图像缓存的名称、宽度、高度、翻转角度、颜色&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_NewImage(UBYTE *image, UWORD Width, UWORD Height, UWORD Rotate, UWORD Color)&lt;br /&gt;
参数：&lt;br /&gt;
 	image : 图像缓存的名称，实际上是一个指向图像缓存首地址的指针；&lt;br /&gt;
 	Width : 图像缓存的宽度；&lt;br /&gt;
 	Height: 图像缓存的高度；&lt;br /&gt;
 	Rotate：图像的翻转的角度&lt;br /&gt;
 	Color ：图像的初始颜色；&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*选择图像缓存:选择图像缓存，选择的目的是你可以创建多个图像属性，图像缓存可以存在多个，你可以选择你所创建的每一张图像&lt;br /&gt;
&amp;lt;pre&amp;gt;void Paint_SelectImage(UBYTE *image)&lt;br /&gt;
参数：&lt;br /&gt;
 	image: 图像缓存的名称，实际上是一个指向图像缓存首地址的指针；&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*图像旋转:设置选择好的图像的旋转角度，最好使用在Paint_SelectImage()后，可以选择旋转0、90、180、270&lt;br /&gt;
&amp;lt;pre&amp;gt;void Paint_SetRotate(UWORD Rotate)&lt;br /&gt;
参数：&lt;br /&gt;
 	Rotate: 图像选择角度，可以选择ROTATE_0、ROTATE_90、ROTATE_180、ROTATE_270分别对应0、90、180、270度&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*图像镜像翻转:设置选择好的图像的镜像翻转，可以选择不镜像、关于水平镜像、关于垂直镜像、关于图像中心镜像。&lt;br /&gt;
&amp;lt;pre&amp;gt;void Paint_SetMirroring(UBYTE mirror)&lt;br /&gt;
参数：&lt;br /&gt;
 	mirror: 图像的镜像方式，可以选择MIRROR_NONE、MIRROR_HORIZONTAL、MIRROR_VERTICAL、MIRROR_ORIGIN分别对应不镜像、关于水平镜像、关于垂直镜像、关于图像中心镜像&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*设置点在缓存中显示位置和颜色：这里是GUI最核心的一个函数、处理点在缓存中显示位置和颜色；&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xpoint: 点在图像缓存中X位置&lt;br /&gt;
 	Ypoint: 点在图像缓存中Y位置&lt;br /&gt;
 	Color : 点显示的颜色&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*图像缓存填充颜色:把图像缓存填充为某颜色，一般作为屏幕刷白的作用&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_Clear(UWORD Color)&lt;br /&gt;
参数：&lt;br /&gt;
 	Color: 填充的颜色&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*图像缓存部分窗口填充颜色：把图像缓存的某部分窗口填充为某颜色，一般作为窗口刷白的作用，常用于时间的显示，刷白上一秒&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWORD Color)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xstart: 窗口的X起点坐标&lt;br /&gt;
 	Ystart: 窗口的Y起点坐标&lt;br /&gt;
 	Xend: 窗口的X终点坐标&lt;br /&gt;
 	Yend: 窗口的Y终点坐标&lt;br /&gt;
 	Color: 填充的颜色&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*画点:在图像缓存中，在（Xpoint, Ypoint）上画点，可以选择颜色，点的大小，点的风格&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Dot_Pixel, DOT_STYLE Dot_Style)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xpoint: 点的X坐标&lt;br /&gt;
 	Ypoint: 点的Y坐标&lt;br /&gt;
 	Color: 填充的颜色&lt;br /&gt;
 	Dot_Pixel: 点的大小，提供默认的8种大小点&lt;br /&gt;
 	 	 typedef enum {&lt;br /&gt;
 	 	 	 DOT_PIXEL_1X1  = 1,	// 1 x 1&lt;br /&gt;
 	 	 	 DOT_PIXEL_2X2  , 		// 2 X 2&lt;br /&gt;
 	 	 	 DOT_PIXEL_3X3  , 	 	// 3 X 3&lt;br /&gt;
 	 	 	 DOT_PIXEL_4X4  , 	 	// 4 X 4&lt;br /&gt;
 	 	 	 DOT_PIXEL_5X5  , 		// 5 X 5&lt;br /&gt;
 	 	 	 DOT_PIXEL_6X6  , 		// 6 X 6&lt;br /&gt;
 	 	 	 DOT_PIXEL_7X7  , 		// 7 X 7&lt;br /&gt;
 	 	 	 DOT_PIXEL_8X8  , 		// 8 X 8&lt;br /&gt;
 	 	} DOT_PIXEL;&lt;br /&gt;
 	Dot_Style: 点的风格,大小扩充方式是以点为中心扩大还是以点为左下角往右上扩大&lt;br /&gt;
 	 	typedef enum {&lt;br /&gt;
 	 	   DOT_FILL_AROUND  = 1,		&lt;br /&gt;
 	 	   DOT_FILL_RIGHTUP,&lt;br /&gt;
 	 	} DOT_STYLE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
*画线：在图像缓存中，从 (Xstart, Ystart) 到 (Xend, Yend) 画线，可以选择颜色，线的宽度，线的风格&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWORD Color, LINE_STYLE Line_Style , LINE_STYLE Line_Style)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xstart: 线的X起点坐标&lt;br /&gt;
 	Ystart: 线的Y起点坐标&lt;br /&gt;
 	Xend: 线的X终点坐标&lt;br /&gt;
 	Yend: 线的Y终点坐标&lt;br /&gt;
 	Color: 填充的颜色&lt;br /&gt;
 	Line_width: 线的宽度，提供默认的8种宽度&lt;br /&gt;
 	 	typedef enum {&lt;br /&gt;
 	 	 	 DOT_PIXEL_1X1  = 1,	// 1 x 1&lt;br /&gt;
 	 	 	 DOT_PIXEL_2X2  , 		// 2 X 2&lt;br /&gt;
 	 	 	 DOT_PIXEL_3X3  ,		// 3 X 3&lt;br /&gt;
 	 	 	 DOT_PIXEL_4X4  ,		// 4 X 4&lt;br /&gt;
 	 	 	 DOT_PIXEL_5X5  , 		// 5 X 5&lt;br /&gt;
 	 	 	 DOT_PIXEL_6X6  , 		// 6 X 6&lt;br /&gt;
 	 	 	 DOT_PIXEL_7X7  , 		// 7 X 7&lt;br /&gt;
 	 	 	 DOT_PIXEL_8X8  , 		// 8 X 8&lt;br /&gt;
 	 	} DOT_PIXEL;&lt;br /&gt;
 	 Line_Style: 线的风格,选择线是以直线连接还是以虚线的方式连接&lt;br /&gt;
 	 	typedef enum {&lt;br /&gt;
 	 	 	 LINE_STYLE_SOLID = 0,&lt;br /&gt;
 	 	 	 LINE_STYLE_DOTTED,&lt;br /&gt;
 	 	} LINE_STYLE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*画矩形:在图像缓存中，从 (Xstart, Ystart) 到 (Xend, Yend) 画一个矩形，可以选择颜色，线的宽度，是否填充矩形内部&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWORD Color, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xstart: 矩形的X起点坐标&lt;br /&gt;
 	Ystart: 矩形的Y起点坐标&lt;br /&gt;
 	Xend: 矩形的X终点坐标&lt;br /&gt;
 	Yend: 矩形的Y终点坐标&lt;br /&gt;
 	Color: 填充的颜色&lt;br /&gt;
 	Line_width: 矩形四边的宽度，提供默认的8种宽度&lt;br /&gt;
 	 	typedef enum {&lt;br /&gt;
 	 	 	 DOT_PIXEL_1X1  = 1,	// 1 x 1&lt;br /&gt;
 	 	 	 DOT_PIXEL_2X2  , 		// 2 X 2&lt;br /&gt;
 	 	 	 DOT_PIXEL_3X3  ,		// 3 X 3&lt;br /&gt;
 	 	 	 DOT_PIXEL_4X4  ,		// 4 X 4&lt;br /&gt;
 	 	 	 DOT_PIXEL_5X5  , 		// 5 X 5&lt;br /&gt;
 	 	 	 DOT_PIXEL_6X6  , 		// 6 X 6&lt;br /&gt;
 	 	 	 DOT_PIXEL_7X7  , 		// 7 X 7&lt;br /&gt;
 	 	 	 DOT_PIXEL_8X8  , 		// 8 X 8&lt;br /&gt;
 	 	} DOT_PIXEL;&lt;br /&gt;
 	Draw_Fill: 填充,是否填充矩形的内部&lt;br /&gt;
 	 	typedef enum {&lt;br /&gt;
 	 	 	 DRAW_FILL_EMPTY = 0,&lt;br /&gt;
 	 	 	 DRAW_FILL_FULL,&lt;br /&gt;
 	 	} DRAW_FILL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*画圆:在图像缓存中，以 (X_Center Y_Center) 为圆心，画一个半径为Radius的圆，可以选择颜色，线的宽度，是否填充圆内部&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD Color, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)&lt;br /&gt;
参数：&lt;br /&gt;
 	X_Center: 圆心的X坐标&lt;br /&gt;
 	Y_Center: 圆心的Y坐标&lt;br /&gt;
 	Radius：圆的半径&lt;br /&gt;
 	Color: 填充的颜色&lt;br /&gt;
 	Line_width: 圆弧的宽度，提供默认的8种宽度&lt;br /&gt;
 	 	typedef enum {&lt;br /&gt;
 	 	 	 DOT_PIXEL_1X1  = 1,	// 1 x 1&lt;br /&gt;
 	 	 	 DOT_PIXEL_2X2  , 		// 2 X 2&lt;br /&gt;
 	 	 	 DOT_PIXEL_3X3  ,		// 3 X 3&lt;br /&gt;
 	 	 	 DOT_PIXEL_4X4  ,		// 4 X 4&lt;br /&gt;
 	 	 	 DOT_PIXEL_5X5  , 		// 5 X 5&lt;br /&gt;
 	 	 	 DOT_PIXEL_6X6  , 		// 6 X 6&lt;br /&gt;
 	 	 	 DOT_PIXEL_7X7  , 		// 7 X 7&lt;br /&gt;
 	 	 	 DOT_PIXEL_8X8  , 		// 8 X 8&lt;br /&gt;
 	 	} DOT_PIXEL;&lt;br /&gt;
 	Draw_Fill: 填充,是否填充圆的内部&lt;br /&gt;
 	 	typedef enum {&lt;br /&gt;
 	 	 	 DRAW_FILL_EMPTY = 0,&lt;br /&gt;
 	 	 	 DRAW_FILL_FULL,&lt;br /&gt;
 	 	} DRAW_FILL;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*写Ascii字符:在图像缓存中，在 (Xstart Ystart) 为左顶点，写一个Ascii字符，可以选择Ascii码可视字符字库、字体前景色、字体背景色&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xstart: 字符的左顶点X坐标&lt;br /&gt;
 	Ystart: 字体的左顶点Y坐标&lt;br /&gt;
 	Ascii_Char：Ascii字符&lt;br /&gt;
 	Font: Ascii码可视字符字库，在Fonts文件夹中提供了以下字体：&lt;br /&gt;
 	 	font8：5*8的字体&lt;br /&gt;
 	 	font12：7*12的字体&lt;br /&gt;
 	 	font16：11*16的字体&lt;br /&gt;
 	 	font20：14*20的字体&lt;br /&gt;
 	 	font24：17*24的字体&lt;br /&gt;
 	Color_Foreground: 字体颜色&lt;br /&gt;
 	Color_Background: 背景颜色&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*写英文字符串:在图像缓存中，在 (Xstart Ystart) 为左顶点，写一串英文字符，可以选择Ascii码可视字符字库、字体前景色、字体背景色&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xstart: 字符的左顶点X坐标&lt;br /&gt;
 	Ystart: 字体的左顶点Y坐标&lt;br /&gt;
 	pString：字符串，字符串是一个指针&lt;br /&gt;
 	Font: Ascii码可视字符字库，在Fonts文件夹中提供了以下字体：&lt;br /&gt;
 	 	font8：5*8的字体&lt;br /&gt;
 	 	font12：7*12的字体&lt;br /&gt;
 	 	font16：11*16的字体&lt;br /&gt;
 	 	font20：14*20的字体&lt;br /&gt;
 	 	font24：17*24的字体&lt;br /&gt;
 	Color_Foreground: 字体颜色&lt;br /&gt;
 	Color_Background: 背景颜色&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*写中文字符串：在图像缓存中，在 (Xstart Ystart) 为左顶点，写一串中文字符，可以选择GB2312编码字符字库、字体前景色、字体背景色；&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* font, UWORD Color_Foreground, UWORD Color_Background)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xstart: 字符的左顶点X坐标&lt;br /&gt;
 	Ystart: 字体的左顶点Y坐标&lt;br /&gt;
 	pString：字符串，字符串是一个指针&lt;br /&gt;
 	Font: GB2312编码字符字库，在Fonts文件夹中提供了以下字体：&lt;br /&gt;
 	 	font12CN：ascii字符字体11*21，中文字体16*21&lt;br /&gt;
 	 	font24CN：ascii字符字体24*41，中文字体32*41&lt;br /&gt;
 	Color_Foreground: 字体颜色&lt;br /&gt;
 	Color_Background: 背景颜色&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*写数字:在图像缓存中，在 (Xstart Ystart) 为左顶点，写一串数字，可以选择Ascii码可视字符字库、字体前景色、字体背景色&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Nummber, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xstart: 字符的左顶点X坐标&lt;br /&gt;
 	Ystart: 字体的左顶点Y坐标&lt;br /&gt;
 	Nummber：显示的数字，这里使用的是32位长的int型保存，可以最大显示到2147483647&lt;br /&gt;
 	Font: Ascii码可视字符字库，在Fonts文件夹中提供了以下字体：&lt;br /&gt;
 	 	font8：5*8的字体&lt;br /&gt;
 	 	font12：7*12的字体&lt;br /&gt;
 	 	font16：11*16的字体&lt;br /&gt;
 	 	font20：14*20的字体&lt;br /&gt;
 	 	font24：17*24的字体&lt;br /&gt;
 	Color_Foreground: 字体颜色&lt;br /&gt;
 	Color_Background: 背景颜色&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*显示时间:在图像缓存中，在 (Xstart Ystart) 为左顶点，显示一段时间，可以选择Ascii码可视字符字库、字体前景色、字体背景色；这里是方便测试局部刷新而写的，因为局部刷新需要的时间为0.3S，整体显示少于1S加上数据的传输，可以做到1S刷新一次&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground)&lt;br /&gt;
参数：&lt;br /&gt;
 	Xstart: 字符的左顶点X坐标&lt;br /&gt;
 	Ystart: 字体的左顶点Y坐标&lt;br /&gt;
 	pTime：显示的时间，这里定义好了一个时间的结构体，只要把时分秒各位数传给参数；&lt;br /&gt;
 	Font: Ascii码可视字符字库，在Fonts文件夹中提供了以下字体：&lt;br /&gt;
 	 	font8：5*8的字体&lt;br /&gt;
 	 	font12：7*12的字体&lt;br /&gt;
 	 	font16：11*16的字体&lt;br /&gt;
 	 	font20：14*20的字体&lt;br /&gt;
 	 	font24：17*24的字体&lt;br /&gt;
 	Color_Foreground: 字体颜色&lt;br /&gt;
 	Color_Background: 背景颜色&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*写图片:把一个位图写入图像缓存中&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Paint_DrawBitMap(const unsigned char* image_buffer)&lt;br /&gt;
参数：&lt;br /&gt;
 	image_buffer: 图像数据的缓存中的首地址&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>INKU-admin123</name></author>
		
	</entry>
</feed>