第1章 绪论 1
第2章 软件开发环境介绍 5
2.1软件的安装 5
2.2创建工程 8
2.3编辑工程文件 10
2.4下载和调试程序 22
2.5本章总结 25
第3章 Keil μVision中的C语言编程 27
3.1C语言简介 27
3.2C语言的main()函数 28
3.3C语言中的变量 30
3.3.1变量的本质 30
3.3.2变量的名称规范 30
3.3.3变量的声明和赋值 31
3.3.4基本数据类型 32
3.3.5基本数据类型变量的声明和赋值 34
3.3.6高级数据类型 38
3.3.7变量的生存期 64
3.4C语言中的常量 67
3.4.1数字型常量 67
3.4.2字符型常量 67
3.5C语言的运算符 67
3.5.1模块运算符 67
3.5.2算数运算符 68
3.5.3变量自操作 70
3.5.4大小关系运算符 71
3.5.5逻辑关系运算符 72
3.5.6特殊运算符 73
3.6C语言中的语句 74
3.6.1赋值语句 74
3.6.2判断语句 74
3.6.3循环语句for 76
3.6.4循环语句while 77
3.6.5循环语句do/while 78
3.6.6循环终止语句 79
3.7C语言的函数 80
3.8宏定义 82
3.9本章小结 84
第4章 串行通信接口及应用 85
4.1串行通信硬件电路设计 85
4.1.1控制器侧的硬件电路设计 85
4.1.2计算机侧的硬件电路设计 86
4.2上位机的串口通信软件 88
4.2.1软件总体设计方案 88
4.2.2上位机与ARM的通信协议 107
4.2.3实时调试软件的设计与开发 109
4.2.4参数刷写软件的设计与开发 135
4.3ARM芯片中UART通信协议的编程实现 167
4.4系统通信功能验证 175
4.4.1实时调试软件功能验证 175
4.4.2参数刷写软件功能验证 176
4.5本章小结 177
第5章 EEPROM数据存储 179
5.1基于SPI接口的硬件电路设计 179
5.2SPI协议及编程实现 180
5.2.1SPI模块及芯片管脚配置 180
5.2.2利用SPI读写EEPROM 183
5.3本章小结 190
第6章 数字输入输出接口 191
6.1挡位信号处理电路及设计 191
6.2故障信号处理电路及设计 193
6.3制动信号处理电路及设计 196
6.4指示灯处理电路及设计 198
6.5主继电器驱动电路 201
6.6代码示例 203
6.7本章小结 204
第7章 模拟采样功能 205
7.1浮点型数据的处理 205
7.2模拟采样电路的硬件设计 207
7.2.1电流采样电路设计 207
7.2.2电压采样电路设计 208
7.2.3温度采样电路设计 210
7.2.4加速踏板采样电路设计 213
7.3模拟信号采样功能的编程实现 215
7.4本章小结 221
第8章 脉冲宽度调制功能 223
8.1硬件电路设计方案 223
8.2软件编程实现 224
8.2.1管脚功能的配置 224
8.2.2定时器及PWM功能的配置 225
8.2.3定时器周期中断的使能与处理 227
8.3调制算法设计 229
8.4本章小结 231
第9章 电动机转速测量方法 233
9.1电动机编码器测速原理 234
9.1.1绝对式编码器 234
9.1.2增量式编码器 235
9.2硬件电路设计 238
9.3测量脉冲宽度测速 239
9.3.1获取旋转方向 239
9.3.2获得转速大小 243
9.4计数脉冲个数测速 247
9.4.1设置计数模式 247
9.4.2计算转速大小 250
9.5本章小结 252
第10章 CAN通信功能 253
10.1硬件电路及端口配置 253
10.2通信协议与软件编程实现 254
10.2.1通信协议介绍 254
10.2.2通信程序设计 255
10.3本章小结 259
第11章 控制器程序设计 261
11.1主函数流程图 261
11.2控制器算法流程图 262
11.3车辆运行模式及处理 264
11.3.1车辆运行模式分类 264
11.3.2故障模式 266
11.3.3制动模式 266
11.3.4前进行驶模式 267
11.3.5倒车模式 267
11.3.6滑行模式 267
11.3.7驻坡模式1 268
11.3.8驻坡模式2 268
11.4斜坡函数与PWM状态控制 269
11.5本章小结 270
参考文献 271