第1章 CW和PE的基本操作 1
1.1 CW与PE简述 1
1.2 软件环境 2
1.2.1 CW10.6的安装说明 2
1.2.2 仿真器驱动安装 3
1.3 界面与窗口 7
1.3.1 运行CW10.6 7
1.3.2 菜单栏 9
1.3.3 工具栏 13
1.3.4 界面切换按钮 13
1.3.5 工程文件窗口 15
1.3.6 工程模块显示窗口 15
1.3.7 命令窗口 15
1.3.8 PE模块库窗口 16
1.3.9 代码显示窗口 16
1.3.10 控制台窗口 16
1.4 工程基本操作 16
1.4.1 导入工程 16
1.4.2 导出工程 18
1.4.3 新建工程 20
1.4.4 工程文件分析 23
1.5 PE基本操作 25
1.5.1 打开PE相关窗口 25
1.5.2 显示工程所包含的PE模块窗口 25
1.5.3 模块库窗口与模块的添加 26
1.5.4 高级模块与低级模块 26
1.5.5 模块包含的可调用函数 27
1.5.6 模块属性窗口 27
1.6 基本编程操作 28
1.6.1 嵌入式芯片初始化 28
1.6.2 main函数 29
1.6.3 查询函数定义 29
1.6.4 常用快捷键简介 30
1.7 编译与下载 31
1.7.1 编译 31
1.7.2 错误查询 32
1.7.3 仿真器选择与下载 33
1.8 在线调试 33
1.8.1 运行、暂停、停止调试 33
1.8.2 全局变量查看 34
1.8.3 断点 35
1.8.4 寄存器查看 35
1.8.5 内存数据查看 36
1.9 其他说明 37
第2章 通用输入/输出(GPIO)功能与外部中断 38
2.1 位(BitIO)模块 38
2.1.1 模块添加 38
2.1.2 模块初始化 38
2.1.3 模块函数简介 41
2.1.4 位模块应用实例 43
2.1.5 调试与结果 46
2.2 多位(BitsIO)模块 46
2.2.1 模块添加 46
2.2.2 模块初始化 47
2.2.3 模块函数简介 48
2.2.4 数码管控制应用实例 49
2.2.5 调试与结果 54
2.3 外部中断(ExtInt)模块 54
2.3.1 中断介绍 54
2.3.2 模块添加 54
2.3.3 模块初始化 55
2.3.4 模块函数简介 57
2.3.5 按键中断应用实例 58
2.3.6 调试与结果 62
2.4 小结 62
第3章 定时器(Timer) 63
3.1 定时中断 63
3.1.1 模块添加 63
3.1.2 模块初始化 64
3.1.3 模块函数简介 70
3.1.4 定时采样应用实例 71
3.1.5 调试与结果 72
3.2 单路PWM 72
3.2.1 模块添加 72
3.2.2 模块初始化 74
3.2.3 模块函数简介 78
3.2.4 调试与结果 79
3.3 计数器 81
3.3.1 模块添加 81
3.3.2 模块初始化 81
3.3.3 模块函数简介 82
3.3.4 计数器应用实例 83
3.3.5 调试与结果 83
3.4 正交编码 84
3.4.1 模块添加 84
3.4.2 模块初始化 85
3.4.3 模块函数简介 89
3.4.4 正交编码应用实例 89
3.4.5 调试与结果 90
3.5 Capture 91
3.5.1 模块添加 91
3.5.2 模块初始化 91
3.5.3 模块函数简介 92
3.5.4 Capture应用实例 93
3.5.5 调试与结果 94
3.6 看门狗 94
3.6.1 模块添加 94
3.6.2 模块初始化 95
3.6.3 模块函数简介 96
3.6.4 看门狗应用实例 97
3.6.5 调试与结果 98
3.7 小结 99
第4章 ADC模块与DAC模块 100
4.1 ADC模块 100
4.1.1 模块添加 100
4.1.2 模块初始化 101
4.1.3 模块函数简介 111
4.1.4 单端采样与差分采样应用实例 115
4.1.5 PE在差分采样配置中存在的问题 127
4.1.6 小结 131
4.2 Init_ADC模块与DMA 132
4.2.1 模块添加 132
4.2.2 模块初始化(ADC12) 133
4.2.3 模块函数简介 141
4.2.4 基于DMA的ADC采样应用实例 142
4.2.5 模块初始化(ADC16) 151
4.3 DAC模块 155
4.3.1 模块添加 156
4.3.2 模块初始化 156
4.3.3 模块函数简介 159
4.3.4 输出设定电压应用实例 160
4.4 小结 160
第5章 增强型脉宽调制模块(eFlexPWM) 161
5.1 模块添加 161
5.2 模块初始化 162
5.2.1 时钟设置 162
5.2.2 通道设置 164
5.2.3 通道保护设置 170
5.2.4 触发设置 171
5.2.5 重载设置 172
5.2.6 故障保护属性设置 173
5.2.7 引脚设置 176
5.2.8 中断设置 177
5.2.9 运行初始化设置 180
5.3 PESL——外设寄存器操作的便捷方法 181
5.4 eFlexPWM模块应用实例 184
5.4.1 实例介绍 184
5.4.2 模块配置 184
5.4.3 实例代码 189
5.5 调试与结果 191
5.6 PWMMC模块 192
5.6.1 模块添加 192
5.6.2 基本属性配置 194
5.6.3 中断设置 196
5.6.4 通道设置 196
5.6.5 故障保护设置 197
5.6.6 eFlexPWM的变化 198
5.6.7 仍需在eFlexPWM中进行配置的地方 198
5.6.8 基本函数简介 200
5.7 小结 202
第6章 队列式串行通信接口(DART) 203
6.1 模块添加 203
6.2 模块初始化 203
6.2.1 通道选择与中断设置 204
6.2.2 基本设置 206
6.2.3 自动初始化设置 208
6.3 模块常用功能介绍 208
6.3.1 模块函数简介 209
6.3.2 模块常用函数详解 210
6.3.3 模块的DMA功能 214
6.4 串口通信应用实例 217
6.5 小结 223
第7章 I2C模块 224
7.1 模块添加 224
7.2 模块初始化 225
7.3 模块函数简介 229
7.4 I2C应用实例 233
7.4.1 参数与程序 233
7.4.2 调试与结果 235
7.5 Init_I2C模块 236
7.5.1 模块添加 236
7.5.2 模块初始化 236
7.5.3 PESL 241
7.5.4 Init_I2C模块应用实例 241
7.6 小结 243
第8章 控制器局域网通信模块(FreescaleCAN) 244
8.1 CAN模块基础知识 244
8.1.1 CAN模块硬件电路基础知识 244
8.1.2 CAN协议基础知识 245
8.2 模块添加 247
8.3 模块初始化 248
8.3.1 中断设置 248
8.3.2 基本设置 249
8.3.3 Timing设置 250
8.3.4 自动初始化设置 250
8.4 模块函数简介 251
8.4.1 SendFrame()函数 251
8.4.2 ReadFrame()函数 253
8.5 CAN通信应用实例 254
8.6 小结 257
第9章 直接内存存取控制器模块(DMA) 258
9.1 模块添加 258
9.2 模块初始化 259
9.2.1 通道初始化 260
9.2.2 通道基本设置 261
9.2.3 DMA请求源设置 264
9.2.4 中断设置 265
9.2.5 初始化设置 268
9.3 DMA传输应用实例 268
9.3.1 PE配置 268
9.3.2 参数声明 269
9.3.3 调试与结果 270
9.4 高级DMA模块 271
9.4.1 模块添加 271
9.4.2 模块初始化 272
9.4.3 模块函数简介 272
9.5 小结 274
第10章 比较器模块(Comparator) 275
10.1 模块添加 275
10.2 模块初始化 276
10.3 模块函数简介 287
10.4 比较器模块应用实例 289
10.4.1 两个外部信号的比较 289
10.4.2 一个外部信号和一个内部信号的比较 291
10.4.3 两个内部信号的比较 292
10.5 Init_HSCMP模块使用方法 294
10.5.1 模块添加 294
10.5.2 模块初始化 295
10.5.3 模块寄存器操作方法——PESL 297
10.5.4 Init_HSCMP模块应用实例 299
10.6 小结 300
第11章 程序存储器(Flash) 301
11.1 模块添加 301
11.2 模块初始化 302
11.3 模块函数简介 305
11.4 Flash应用实例 307
11.4.1 工程配置 308
11.4.2 实例程序 308
11.4.3 调试与结果 309
11.5 小结 310
第12章 Crossbar Switch模块 311
12.1 模块功能简介 311
12.2 模块添加 312
12.3 模块初始化 313
12.4 XBAR应用实例 314
12.5 小结 315
第13章 图形化人机交互调试软件(FreeMASTER) 316
13.1 FreeMASTER的安装及简介 316
13.1.1 FreeMASTER的安装 316
13.1.2 FreeMASTER简介 316
13.2 模块初始化 317
13.2.1 模块添加 317
13.2.2 模块设置 318
13.2.3 模块函数的使用 320
13.3 设置PC端FreeMASTER 321
13.3.1 基本设置 321
13.3.2 视窗中变量的添加、观察与修改 324
13.3.3 Oscilloscope的使用 328
13.3.4 Recorder的使用 331
13.4 FreeMASTER应用实例 334
13.5 小结 337
参考文献 338