msp430系列单片机C语言程序设计与开发
MSP430系列单片机C语言程序设计与开发MSP430系列是一个具有明显技术特色的单片机品种。关于它的硬件特性及汇编语言程序设计已在《MSP430系列超低功耗16位单片机的原理与应用》及《MSP430系列 FLASH型超低功耗16位单片机》等书中作了全面介绍。《MSP430系列单片机C语言程序设计与开发》介绍IAR公司为MSP430系列单片机配备的C程序设计语言C430。书中叙述了C语言的基本概念、C430的扩展特性及C库函数;对C430的集成开发环境的使用及出错信息作了详尽的说明;并以MSP430F149为例,对各种应用问题及外围模块操作提供了典型的C程序例程,供读者在今后的C430程序设计中参考。
《MSP430系列单片机C语言程序设计与开发》可以作为高等院校计算机、自动化及电子技术类专业的教学参考书,也可作为工程技术人员设计开发时的技术资料。
MSP430系列超低功耗16位单片机的原理与应用目录
MSP430系列单片机C语言程序设计与开发 目录
第1章 C语言基本知识
1.1 标识符与关键字1
1.1.1 标识符1
1.1.2 关键字1
1.2 数据基本类型2
1.2.1 整型数据2
1.2.2 实型数据3
1.2.3 字符型数据4
1.2.4 各种数据转换关系6
1.3 C语言的运算符7
1.3.1 算术运算符7
1.3.2 关系运算符和逻辑运算符7
1.3.3 赋值运算符8
1.3.4 逗号运算符8
1.3.5 ? 与 :运算符8
1.3.6 强制转换运算符9
1.3.7 各种运算符优先级列表9
1.4 程序设计的三种基本结构10
1.4.1 语句的概念10
1.4.2 顺序结构11
1.4.3 选择结构12
1.4.4 循环结构14
1.5 函数18
1.5.1 函数定义18
1.5.2 局部变量与全局变量19
1.5.3 形式参数与实际参数20
1.5.4 函数调用方式20
1.5.5 函数嵌套调用21
1.5.6 变量的存储类别22
1.5.7 内部函数和外部函数23
1.6 数组23
1.6.1 一维数组24
1.6.2 多维数组24
1.6.3 字符数组26
1.7 指针27
1.7.1 指针与地址的概念27
1.7.2 指针变量的定义28
1.7.3 指针变量的引用28
1.7.4 数组的指针28
1.7.5 函数的指针30
1.7.6 指针数组31
1.8 结构和联合32
1.8.1 结构定义32
1.8.2 结构类型变量的定义33
1.8.3 结构类型变量的初始化34
1.8.4 结构类型变量的引用34
1.8.5 联合34
1.9 枚举36
1.9.1 枚举的定义36
1.9.2 枚举元素的值37
1.9. 3 枚举变量的使用37
1.10 类型定义38
1.10.1 类型定义的形式38
1.10.2 类型定义的使用38
1.11 位运算39
1.11.1 位运算符39
1.11.2 位域40
1.12 预处理功能41
1.12.1 简单宏定义和带参数宏定义41
1.12.2 文件包含43
1.12.3 条件编译命令44
第2章 C430--MSP430系列的C语言
2.1 MSP430系列的C语言45
2.1.1 C430概述45
2.1.2 C430程序设计工作流程46
2.1.3 开始46
2.1.4 C430程序生成47
2.2 C430的数据表达48
2.2.1 数据类型48
2.2.2 编码效率50
2.3 C430的配置51
2.3.1 引言51
2.3. 2 存储器分配52
2.3.3 堆栈体积52
2.3.4 输入输出52
2.3.5 寄存器的访问54
2.3.6 堆体积54
2.3.7 初始化54
第3章 C430的开发调试环境
3.1 引言56
3.1.1 Workbench特性56
3.1.2 Workbench的内嵌编辑器特性56
3.1.3 C编译器特性57
3.1. 4 汇编器特性57
3.1.5 连接器特性58
3.1.6 库管理器特性58
3.1.7 C?SPY调试器特性59
3.2 Workbench概述59
3.2.1 项目管理模式59
3.2.2 选项设置60
3.2.3 建立项目60
3.2.4 测试代码61
3.2.5 样本应用程序61
3.3 Workbench的操作62
3.3.1 开始63
3.3.2 编译项目68
3.3.3 连接项目69
3.3.4 调试项目71
3.3.5 使用Make命令73
3.4 Workbench的功能汇总75
3.4.1 Workbench的窗口75
3.4.2 Workbench的菜单功能81
3.5 Workbench的内嵌编辑器99
3.5.1 内嵌编辑器操作99
3.5.2 编辑键说明99
3.6 C?SPY概述101
3.6.1 C?SPY的C语言级和汇编语言级调试101
3.6.2 程序的执行102
3.7 C?SPY的操作103
3.7.1 程序生成103
3.7.2 编译与连接103
3.7.3 C?SPY运行103
3.7.4 C语言级调试104
3.7.5 汇编级调试111
3.8 C?SPY的功能汇总113
3.8.1 C?SPY的窗口113
3.8.2 C?SPY的菜单命令功能120
3.9 C?SPY的表达式与宏132
3.9.1 汇编语言表达式132
3.9.2 C语言表达式133
3.9.3 C?SPY宏135
3.9.4 C?SPY的设置宏137
3.9.5 C?SPY的系统宏137
第4章 C430程序设计实例
4.1 程序设计与调试环境143
4.1.1 程序设计调试集成环境143
4.1.2 设备连接144
4.1.3 ProF149实验系统144
4.2 数值计算145
4.2.1 C语言表达式145
4.2.2 利用MPY实现运算146
4.3 循环结构147
4.4 选择结构148
4.5 SFR访问149
4.6 RAM访问150
4.7 FLASH访问151
4.8 WDT操作153
4.8. 1 WDT使程序自动复位153
4.8.2 程序对WATCHDOG计数溢出的控制154
4.8.3 WDT的定时器功能155
4.9 Timer操作155
4.9.1 用Timer产生时钟信号155
4.9.2 用Timer检测脉冲宽度156
4.10 UART操作157
4.10.1 点对点通信157
4.10.2 点对多点通信160
4.11 SPI操作163
4.12 比较器操作165
4.13 ADC12操作167
4.13.1 单通道单次转换167
4.13.2 序列通道多次转换168
4.14 时钟模块操作170
4.15 中断服务程序171
4.16 省电工作模式175
4.17 调用汇编语言子程序176
4.17.1 程序举例176
4.17.2 生成C程序调用的汇编子程序177
第5章 C430的扩展特性
5.1 C430的语言扩展概述178
5.1.1 扩展关键字178
5.1.2 #pragma编译命令178
5.1.3 预定义符号179
5.1.4 本征函数179
5.1.5 其他扩展特性179
5.2 C430的关键字扩展179
5.2.1 interrupt180
5.2.2 monitor180
5.2.3 no_init181
5.2.4 sfrb181
5.2.5 sfrw182
5.3 C430的 #pragma编译命令182
5.3.1 bitfields=default182
5.3.2 bitfields=reversed182
5.3.3 codeseg183
5.3.4 function=default183
5.3.5 function=interrupt184
5.3.6 function=monitor184
5.3.7 language=default184
5.3.8 language=extended184
5.3.9 memory=constseg185
5.3.10 memory=dataseg185
5.3.11 memory=default185
5.3.12 memory=no_init186
5.3.13 warnings=default186
5.3.14 warnings=off186
5.3.15 warnings=on186
5.4 C430的预定义符号186
5.4.1 DATE187
5.4.2 FILE187
5.4.3 IAR_SYSTEMS_ICC187
5.4.4 LINE187
5.4.5 STDC187
5.4.6 TID187
5.4.7 TIME188
5.4.8 VER188
5.5 C430的本征函数188
5.5.1 _args$188
5.5.2 _argt$189
5.5.3 _BIC_SR189
5.5.4 _BIS_SR190
5.5.5 _DINT190
5.5.6 _EINT190
5.5.7 _NOP190
5.5.8 _OPC190
5.6 C430的汇编语言接口191
5.6.1 创建汇编子程序框架191
5.6.2 调用规则191
5.6.3 C程序调用汇编子程序193
5.7 C430的段定义193
5.7.1 存储器分布与段定义194
5.7.2 CCSTR段194
5.7.3 CDATA0段194
5.7.4 CODE段195
5.7.5 CONST195
5.7.6 CSTACK195
5.7.7 CSTR195
5.7.8 ECSTR195
5.7.9 IDATA0196
5.7.10 INTVEC196
5.7.11 NO_INIT196
5.7.12 UDATA0196
第6章 C430的库函数
6.1 引言197
6.1.1 库模块文件197
6.1.2 头文件197
6.1.3 库定义汇总197
6.2C 库函数参考204
6.2.1 C库函数的说明格式204
6.2.2 C库函数说明204
第7章 C430编译器的诊断消息
7.1 编译诊断消息的类型230
7.2 编译出错消息231
7.3 编译警告消息243
附录 AMSP430系列FLASH型芯片资料248
附录 BProF149实验系统251
附录 CMSP430x14x.H文件253
附录 DIAR MSP430 C语言产品介绍275