《基于STemWin的STM32开发与实践》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:白永斌,张汉光,黄强编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121259722
  • 页数:396 页
图书介绍:本书全面、深入地介绍了STemWin图形用户界面系统(GUI)的强大功能和使用方法。内容涵盖STemWin的基础知识、移植方法,BMP、JPEG、GIF、PNG等图片文件的解码显示和所有控件的使用方法,并提供了完善的汉字显示方案。本书采用“理论+实验”的编写方式,配套大量的实验例程,图文并茂,内容通俗易懂,可以帮助读者快速掌握STemWin的应用技术。

第1章 STemWin基础知识 1

1.1 STemWin概述 1

1.1.1 STemWin、emWin、uCGUI之间的关系 1

1.1.2 SEGGER公司介绍 2

1.1.3 STemWin介绍 3

1.1.4 STM32F103和STM32F407跑STemWin性能测试 8

1.2 STemWin5.xx的移植 11

1.2.1 关于STemWin移植的重要说明 11

1.2.2 移植前的准备工作 12

1.2.3 STemWin的裸机移植 13

1.2.4 STemWin带RTOS的移植 22

1.3 RA8875屏触摸校准自适应 23

1.3.1 触摸校准基础知识介绍 23

1.3.2 触摸屏校准步骤 23

1.3.3 触摸参数自动加载 24

1.4 μCGUIBulder4.0和GUIBulder5.22的使用方法 25

1.4.1 GUIBulder5.2 2的使用步骤 25

1.4.2 μCGUIBulder4.0的使用 29

1.4.3 将生成的代码移植到STM32-V5开发板 30

1.5 emWin5.2 4模拟器与查看器 30

1.5.1 emWin5.2 4模拟器 30

1.5.2 emWin5.2 4查看器 32

第2章 STemWin文本与数值显示 34

2.1 文本显示 34

2.1.1 简单文本显示 34

2.1.2 文本显示模式 35

2.1.3 GUI_DispStringInRectWrap函数的使用 36

2.1.4 文本显示实例——自动换行的实现 37

2.2 数值显示 38

2.2.1 十进制数的显示 39

2.2.2 十六进制数和二进制数的显示 43

2.2.3 浮点数的显示 43

第3章 2D图形库 45

3.1 基本绘图 45

3.1.1 画笔设置 45

3.1.2 基本绘制 46

3.1.3 Alpha混合 46

3.2 绘制流位图 49

3.2.1 生成C流文件 49

3.2.2 移植到开发板 50

3.3 绘制图形 53

3.3.1 绘制多边形 54

3.3.2 绘制圆 56

3.3.3 绘制椭圆 57

3.3.4 绘制弧线 57

3.3.5 绘制线图 58

3.3.6 绘制饼图 59

第4章 STemWin图片显示 60

4.1 BMP图片显示 60

4.1.1 BMP图片支持 60

4.1.2 绘制已经加载到存储器的BMP图片 63

4.1.3 绘制无须加载到存储器的BMP图片 66

4.2 JPEG图片显示 69

4.2.1 JPEG图片支持 70

4.2.2 绘制已加载到存储器的JPEG图片 71

4.2.3 绘制无须加载到存储器的JPEG图片 73

4.3 GIF图片显示 75

4.3.1 GIF图片支持 75

4.3.2 绘制已加载到存储器的GIF图片 78

4.3.3 绘制无须加载到存储器的GIF图片 80

4.4 PNG图片显示 83

4.4.1 PNG图片支持 83

4.4.2 绘制已加载到存储器的PNG图片 85

4.4.3 绘制无须加载到存储器的PNG图片 87

第5章 STemWin字符显示 89

5.1 STemWin支持字体 89

5.1.1 字体类型 89

5.1.2 字符集 91

5.1.3 标准字体 93

5.2 STemWin汉字显示 96

5.2.1 汉字显示基础知识 96

5.2.2 汉字显示方式 99

5.3 STemWin外语支持 116

5.3.1 Unicode 116

5.3.2 阿拉伯语支持 121

5.3.3 泰语支持 123

5.3.4 Shift JIS支持 125

5.4 外置字体(XBF) 125

5.4.1 XBF格式字体生成方法 126

5.4.2 XBF移植 126

5.5 系统独立字体(SIF) 131

5.5.1 SIF格式字体生成方法 131

5.5.2 SIF移植 132

5.6 矢量字体(TrueType) 136

5.6.1 矢量字体概述 136

5.6.2 STemWin对矢量字体的支持 137

5.6.3 在模拟器上运行矢量字体 137

5.6.4 矢量字体移植 141

第6章 STemWin光标 145

6.1 STemWin支持的光标效果 145

6.2 在模拟器上演示光标 145

6.3 在模拟器上演示动态光标 149

第7章 STemWin支持的颜色 150

7.1 预定义颜色 150

7.2 固定调色板及其说明 151

7.3 在模拟器上演示颜色条测试例程 152

第8章 Sprite 155

8.1 Sprite概述 155

8.2 在模拟器上演示Sprite实例 155

第9章 STemWin抗锯齿(AA)技术 159

9.1 抗锯齿(AA)基础知识 159

9.1.1 抗锯齿质量 159

9.1.2 抗锯齿字体 159

9.1.3 高分辨率坐标 160

9.2 抗锯齿API函数实例演示 161

9.3 抗锯齿(AA)实例 166

9.3.1 实例1——AA_HiResAntialiasing 166

9.3.2 实例2——AA_HiResPixels 169

9.3.3 实例3——AA_Lines 172

第10章 STemWin多任务设计 176

10.1 模拟器多任务设计 176

10.1.1 单任务系统(超级循环) 176

10.1.2 多任务系统:一个任务调用emWin 177

10.1.3 多任务系统:多个任务调用emWin 177

10.1.4 官方推荐运行方式 178

10.1.5 在模拟器上运行多任务 178

10.2 μCOS-Ⅲ多任务设计 183

10.2.1 单任务系统(超级循环) 183

10.2.2 多任务系统:一个任务调用emWin 188

10.2.3 多任务系统:多个任务调用emWin 193

第11章 STemWin输入设备 200

11.1 指针输入设备(摇杆) 200

11.1.1 概述 200

11.1.2 指针输入设备(API) 200

11.1.3 五向摇杆操作光标 201

11.2 键盘输入(实体按键操作控件) 204

11.2.1 概述 204

11.2.2 驱动层API 204

11.2.3 实体按键操作 205

第12章 STemWin窗口管理器 210

12.1 回调机制 210

12.1.1 术语说明 210

12.1.2 回调机制、无效化和渲染 211

12.2 消息类型 213

12.2.1 消息结构 213

12.2.2 消息类型 214

12.2.3 系统类型消息实例 215

12.2.4 指针输入设备(PID)类型消息实例 219

12.2.5 通知代码类型消息实例 223

12.3 定时器使用 227

12.3.1 定时器功能介绍 227

12.3.2 在桌面窗口上使用定时器实例 227

12.3.3 在对话框上使用定时器实例 229

12.4 ToolTips的使用 233

12.4.1 ToolTips概述 233

12.4.2 ToolTips实例 233

12.5 窗口管理器实例 238

12.5.1 用户自定义消息类型实例 238

12.5.2 桌面窗口回调函数实例 242

12.5.3 WM_Redraw.c实例 247

12.5.4 WM_Sample.c实例 250

12.5.5 WM_LateClipping.c实例 255

12.5.6 WM_Video.c实例 260

第13章 STemWin控件 266

13.1 控件基础知识 266

13.1.1 当前支持的控件 266

13.1.2 控件的重绘机制 266

13.1.3 控件使用方法 266

13.1.4 控件配置选项 267

13.1.5 通用控件API 268

13.1.6 常用函数 269

13.2 对话框基础知识 270

13.2.1 对话框概述 270

13.2.2 创建对话框 271

13.2.3 对话框API 274

13.3 按钮控件 274

13.3.1 按钮控件概述 275

13.3.2 按钮控件实例 275

13.3.3 在对话框上使用按钮控件 282

13.4 复选框控件 286

13.4.1 复选框控件概述 286

13.4.2 复选框控件实例——WIDGET_CheckBox实例 287

13.5 下拉列表控件 291

13.5.1 下拉列表控件概述 291

13.5.2 下拉列表控件实例——WIDGET_Dropdown实例 292

13.5.3 在对话框上使用下拉列表控件 297

13.6 编辑控件 301

13.6.1 编辑控件概述 301

13.6.2 编辑控件实例——WIDGET_Edit实例 302

13.6.3 在对话框上使用编辑框控件 306

13.7 框架窗口控件 310

13.7.1 框架窗口控件概述 310

13.7.2 框架窗口控件实例——WIDGET_FrameWin实例 311

13.8 图形控件 316

13.8.1 图形控件概述 316

13.8.2 图形控件实例——WIDGET_GraphYT实例 318

13.8.3 使用GUIBulder建立Graph控件 327

13.9 标题控件 327

13.9.1 标题控件概述 327

13.9.2 标题控件实例——WIDGET_Header实例 328

13.9.3 使用GUIBulder建立HEADER控件 334

13.10 列表框控件 335

13.10.1 列表框控件概述 335

13.10.2 列表框控件实例——WIDGET_ListBox实例 335

13.10.3 在对话框上使用列表框控件 339

13.11 菜单控件 340

13.11.1 菜单控件概述 340

13.11.2 菜单控件实例——WIDGET_Menu实例 342

13.11.3 使用GUIBulder建立MENU控件 348

13.12 消息框控件 349

13.12.1 消息框控件概述 349

13.12.2 消息框控件实例 349

13.13 多行文本控件 353

13.13.1 多行文本控件概述 353

13.13.2 多行文本控件实例——WIDGET_Multiedit实例 354

13.13.3 使用μCGUIBulder建立多行文本控件 356

13.14 多页控件 357

13.14.1 多页控件概述 357

13.14.2 多页控件实例——WIDGET_Multipage实例 358

13.14.3 使用GUIBulder建立多页控件 361

13.15 进度条控件 362

13.15.1 进度条控件概述 362

13.15.2 进度条控件实例——WIDGET_Progbar实例 362

13.15.3 使用μGUIBulder建立进度条控件 365

13.16 单选按钮控件 365

13.16.1 单选按钮控件概述 365

13.16.2 单选按钮控件实例——DIALOG_Radio实例 366

13.16.3 使用GUIBulder建立单选按钮控件 369

13.17 滚动条控件 369

13.17.1 滚动条控件概述 369

13.17.2 滚动条控件实例——DIALOG_Scrollbar实例 370

13.17.3 使用GUIBulder建立滚动条控件 373

13.18 滑块控件 373

13.18.1 滑块控件概述 373

13.18.2 滑块控件实例——DIALOG_SliderColor实例 374

13.18.3 使用GUIBulder建立滑块控件 378

13.19 文本控件 379

13.19.1 文本控件概述 379

13.19.2 使用GUIBulder建立文本控件 379

13.20 窗口控件 379

13.20.1 窗口控件概述 380

13.20.2 窗口控件实例——WIDGET_Window实例 380

13.21 SPINBOX控件 381

13.21.1 SPINBOX控件概述 381

13.21.2 SPINBOX控件实例——WIDGET_Spinbox实例 381

13.21.3 使用GUIBulder建立SPINBOX控件 384

13.22 LISTVIEW控件 385

13.22.1 LISTVIEW控件概述 385

13.22.2 LISTVIEW控件实例——WIDGET_ListView实例 386

13.22.3 使用GUIBulder建立LISTVIEW控件 391

13.23 在对话框上绘制2D图形的方法 393

附录A 安富莱STM32-V5开发板套件 395

A.1 简介 395

A.2 硬件配置 395

A.3 文档教程 396

A.4 技术支持 396