ProcessorExpert轻松编程详解:基于MC56F84xxx系列
定 价:49 元
- 作者:常越 著
- 出版时间:2015/9/1
- ISBN:9787512418554
- 出 版 社:北京航空航天大学出版社
- 中图法分类:TP311.1
- 页码:338
- 纸张:胶版纸
- 版次:1
- 开本:16开
《ProcessorExpert轻松编程详解:基于MC56F84xxx系列》介绍了使用飞思卡尔公司集成开发环境CodeWarrior(简称CW)中的ProcessorExpert(简称PE)完成嵌入式芯片各种功能模块的操作;并逐次介绍了创建工程文件、通用输入/输出口及外部中断、定时器、ADC和DAC、增强型PWM、异步串行通信模块、I2C模块、CAN通信模块、DMA 模块、比较器模块、Flash存储器和内部关联模块的初始化操作方法以及基本程序的编写;最后介绍了图形化人机交互调试软件(FreeMASTER).
本书旨在帮助那些具有良好的专业造诣、需要应用嵌入式系统解决实际问题,却又苦于没有时间去阅读、理解嵌入式芯片说明文档的技术人员,使他们能够顺利完成嵌入式系统初始化,自己完成嵌入式系统的软件编程工作.书中各章不仅有详细的初始化过程讲解,还有完整的可正常运行的程序编写过程,使读者对如何使用PE、如何完成程序都能准确深入的理解.书中介绍的方法适用于飞思卡尔公司的多数嵌入式产品.
我一直期待能够有一种工具,使嵌入式芯片的初始化工作变得轻松、省时、一目了然.
使用智能化控制都需要对嵌入式芯片进行编程,而编程的第一步就是芯片内部模块初始化.首先要对各个模块的寄存器有清楚的了解,并准确掌握引脚功能复用及寄存器的选择细节,才能做好初始化工作.在嵌入式芯片发展到引脚众多且每个引脚多种功能复用的情况下,仔细阅读英文文档后进而完成种类繁多的寄存器的初始化决不是一项轻松的工作.许多需要对嵌入式芯片编程解决实际问题的技术人员,实在很难有时间和精力去完成这项工作.
从汇编语言到C语言,使得嵌入式编程节省了大量的时间和精力.那么,现在有没有可以帮助我们轻松省时地完成初始化的工具呢? ProcessorExpert(PE)就是这样一个我们期待已久的初始化助手.
2007年,陈结南先生向我推荐了飞思卡尔嵌入式软件CodeWarrior中的PE初始化工具,并且介绍了其最突出的特点:多数情况下可以不去读英文文档就可以完成芯片各个模块的初始化设置.在邹勇波先生的指导下,我开始使用PE编写程序.起初应用8位单片机,基本没有去看英文文档就完成了许多项目的软件编写,切实体会到了PE功能带来的便捷.后来开设电机控制综合实验课程,学生在没有使用过飞思卡尔MC56F8257芯片的情况下,使用PE对其进行初始化设置,在很短时间内不仅完成了电机控制工作,并且掌握了PE这一工具.此外,PE功能还对理解引脚的功能提供了
帮助,如设计一个嵌入式硬件系统,可以先对设计的引脚进行功能的初始化设置,对有的引脚功能的限制也可以提早发现,以免在硬件完成后才发现原来设计中引脚存在的问题,避免了时间和精力的浪费.还可以在CodeWarrior中利用PE添加需要用到的模块,查看这些模块可以使用的所有引脚,选择方便,同时避免了引脚冲突.
从飞思卡尔公司的8位单片机、16位到32位的DSC,到现在越来越广泛应用的ARM 系列芯片,PE都可以帮助编程人员轻松完成初始化工作.
本书逐步介绍PE的应用,从第1章的建立工程和PE的基本操作开始,首先叙述通用输入/输出口和外部中断、定时器、模/数和数/模转换、PWM 控制、串行通信、I2C通信和局域网通信等基本模块的应用;其次,讲解更高层次应用的功能,包括DMA、比较器、Flash和XBAR(内部模块关联);最后,介绍用于调试程序的人机交互软件FreeGMASTER.这些内容可以满足大部分工程应用的需要.
本书不仅讲解了PE的使用方法,还在各章编写了经过运行测试的基本例程,作为 ProcessorExpert轻松编程详解———基于MC56F84xxx系列读者编程的参考;同时,叙述了PE软件中现存问题的分析和实验过程,让读者了解在使用PE出现错误时如何找出并解决问题,以及在解决问题的过程中学习PE中的编程范例.
本书旨在帮助没有时间阅读英文文档、没有精力逐个进行寄存器设置却又迫切需要编写嵌入式程序的工程师.我们站在初学者的角度叙述初始化的步骤,对常用功能的初始化设置、程序编写举例都做了详细的说明.本书基本避免了跳跃式的讲解,读者只要一步步按照书中的讲解就可以完成初始化设置和程序编写.帮助读者理解PE的思想,自如地使用PE完成飞思卡尔公司各种芯片的初始化工作是我们的初衷.
在本书的写作过程中,李海国、王达开、张晓斌三位同学从程序编写到实验验证,付出了很多辛勤的汗水,做了大量深入细致的工作;程诗音同学也对文稿提出许多有益的建议.作者在此向他们表示真诚的感谢!
飞思卡尔公司的周序伟对本书给出了许多深入、有益的指导;郭嘉也对本书的内容提出了建议和鼓励;马莉女士委托编写此书,并对本书的出版起到了关键的作用.作者向他们表示衷心的感谢!
由于应用PE的时间和涉及的技术领域有限,一定有许多读者遇到的问题我们没有讲到,欢迎读者与我们讨论及提出批评和建议.作者的联系邮箱.
作 者
2015年4月于上海
第1章 CW 和PE的基本操作
1.1 CW 与PE简述
1.2 软件环境
1.2.1 CW10.6的安装说明
1.2.2 仿真器驱动安装
1.3 界面与窗口
1.3.1 运行CW10.6
1.3.2 菜单栏
1.3.3 工具栏
1.3.4 界面切换按钮
1.3.5 工程文件窗口
1.3.6 工程模块显示窗口
1.3.7 命令窗口
1.3.8 PE模块库窗口
1.3.9 代码显示窗口
1.3.10 控制台窗口
1.4 工程基本操作
1.4.1 导入工程
1.4.2 导出工程
1.4.3 新建工程
1.4.4 工程文件分析
1.5 PE基本操作
1.5.1 打开PE相关窗口
1.5.2 显示工程所包含的PE模块窗口
1.5.3 模块库窗口与模块的添加
1.5.4 高级模块与低级模块
1.5.5 模块包含的可调用函数
1.5.6 模块属性窗口
1.6 基本编程操作
1.6.1 嵌入式芯片初始化
1.6.2 main函数
1.6.3 查询函数定义
1.6.4 常用快捷键简介
1.7 编译与下载
1.7.1 编 译
1.7.2 错误查询
1.7.3 仿真器选择与下载
1.8 在线调试
1.8.1 运行、暂停、停止调试
1.8.2 全局变量查看
1.8.3 断 点
1.8.4 寄存器查看
1.8.5 内存数据查看
1.9 其他说明
第2章 通用输入/输出(GPIO)功能与外部中断
2.1 位(BitIO)模块
2.1.1 模块添加
2.1.2 模块初始化
2.1.3 模块函数简介
2.1.4 位模块应用实例
2.1.5 调试与结果
2.2 多位(BitsIO)模块
2.2.1 模块添加
2.2.2 模块初始化
2.2.3 模块函数简介
2.2.4 数码管控制应用实例
2.2.5 调试与结果
2.3 外部中断(ExtInt)模块
2.3.1 中断介绍
2.3.2 模块添加
2.3.3 模块初始化
2.3.4 模块函数简介
2.3.5 按键中断应用实例
2.3.6 调试与结果
2.4 小 结
第3章 定时器(Timer)
3.1 定时中断
3.1.1 模块添加
3.1.2 模块初始化
3.1.3 模块函数简介
3.1.4 定时采样应用实例
3.1.5 调试与结果
3.2 单路PWM
3.2.1 模块添加
3.2.2 模块初始化
3.2.3 模块函数简介
3.2.4 调试与结果
3.3 计数器
3.3.1 模块添加
3.3.2 模块初始化
3.3.3 模块函数简介
3.3.4 计数器应用实例
3.3.5 调试与结果
3.4 正交编码
3.4.1 模块添加
3.4.2 模块初始化
3.4.3 模块函数简介
3.4.4 正交编码应用实例
3.4.5 调试与结果
3.5 Capture
3.5.1 模块添加
3.5.2 模块初始化
3.5.3 模块函数简介
3.5.4 Capture应用实例
3.5.5 调试与结果
3.6 看门狗
3.6.1 模块添加
3.6.2 模块初始化
3.6.3 模块函数简介
3.6.4 看门狗应用实例
3.6.5 调试与结果
3.7 小 结
第4章 ADC模块与DAC模块
4.1 ADC模块
4.1.1 模块添加
4.1.2 模块初始化
4.1.3 模块函数简介
4.1.4 单端采样与差分采样应用实例
4.1.5 PE在差分采样配置中存在的问题
4.1.6 小 结
4.2 Init_ADC模块与DMA
4.2.1 模块添加
4.2.2 模块初始化(ADC12)
4.2.3 模块函数简介
4.2.4 基于DMA 的ADC采样应用实例
4.2.5 模块初始化(ADC16)
4.3 DAC模块
4.3.1 模块添加
4.3.2 模块初始化
4.3.3 模块函数简介
4.3.4 输出设定电压应用实例
4.4小 结
第5章 增强型脉宽调制模块(eFlexPWM)
5.1 模块添加
5.2 模块初始化
5.2.1 时钟设置
5.2.2 通道设置
5.2.3 通道保护设置
5.2.4 触发设置
5.2.5 重载设置
5.2.6 故障保护属性设置
5.2.7 引脚设置
5.2.8 中断设置
5.2.9 运行初始化设置
5.3 PESL———外设寄存器操作的便捷方法
5.4 eFlexPWM 模块应用实例
5.4.1 实例介绍
5.4.2 模块配置
5.4.3 实例代码
5.5 调试与结果
5.6 PWMMC模块
5.6.1 模块添加
5.6.2 基本属性配置
5.6.3 中断设置
5.6.4 通道设置
5.6.5 故障保护设置
5.6.6 eFlexPWM 的变化
5.6.7 仍需在eFlexPWM 中进行配置的地方
5.6.8 基本函数简介
5.7 小 结
第6章 队列式串行通信接口(UART)
6.1 模块添加
6.2 模块初始化
6.2.1 通道选择与中断设置
6.2.2 基本设置
6.2.3 自动初始化设置
6.3 模块常用功能介绍
6.3.1 模块函数简介
6.3.2 模块常用函数详解
6.3.3 模块的DMA 功能
6.4 串口通信应用实例
6.5 小 结
第7章 I2C模块
7.1 模块添加
7.2 模块初始化
7.3 模块函数简介
7.4 I2C应用实例
7.4.1 参数与程序
7.4.2 调试与结果
7.5 Init_I2C模块
7.5.1 模块添加
7.5.2 模块初始化
7.5.3 PESL
7.5.4 Init_I2C模块应用实例
7.6 小 结
第8章 控制器局域网通信模块(FreescaleCAN)
8.1 CAN 模块基础知识
8.1.1 CAN 模块硬件电路基础知识
8.1.2 CAN 协议基础知识
8.2 模块添加
8.3 模块初始化
8.3.1 中断设置
8.3.2 基本设置
8.3.3 Timing设置
8.3.4 自动初始化设置
8.4 模块函数简介
8.4.1 SendFrame()函数
8.4.2 ReadFrame()函数
8.5 CAN 通信应用实例
8.6 小 结
第9章 直接内存存取控制器模块(DMA)
第10章 比较器模块(Comparator)
第11章 程序存储器(Flash)
第12章 CrossbarSwitch模块
第13章 图形化人机交互调试软件(FreeMASTER)
参考文献