fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页计算机/网络程序设计细说Cortex M0开发——以LPC1114为例

细说Cortex M0开发——以LPC1114为例

学习ARM Cortex-M0开发,从这里起航。 助您提高学习兴趣,减小挫折感。

作者:冯迅 出版社:清华大学出版社 出版时间:2018年01月 

ISBN: 9787302489986
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €32.99

类别: 程序设计 SKU:5d86dee95f98494bcc147fcd 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302489986

编辑推荐
1、利用传统单片机的学习方式讲解ARM Cortex-M0处理器,更容易上手。2、杜绝死板翻译手册,深入讲解原版英文文档。3、对程序代码都进行详细注解,让读者理解每一行代码的意思。4、把寄存器的学习放到实例中,有效避免了学习寄存器的枯燥。5、使用主流开发环境MDK-ARM,学习资源丰富。 
内容简介
本书以恩智浦公司(NXP)的LPC1114芯片为例,详细讨论了ARM CortextM0处理器的开发过程。主要讲述了开发环境MDKARM的配置及LPC1114内部各个组成模块的结构及使用方法,包含GPIO端口、时钟源、NVIC中断系统、系统定时器、定时器/计数器、串口、A/D转换、I2C接口、SPI接口、看门狗、功耗管理及Flash编程固件等内容。全书以应用为主,针对LPC1114开发中可能遇到的问题都进行了详细的讨论。书中所有代码无须任何修改就可直接使用,所有程序代码均在MDKARM4.22a环境下调试通过。本书可作为高校及相关培训机构的教材,也可作为爱好者自学使用的书籍,还可作为嵌入式系统工程开发人员的参考手册。
目  录

 

目录

第1章LPC1114及其开发环境简介1

1.1LPC1114及其主要特性1

1.2MDK开发环境及其配置4

1.3习题9第2章时钟配置与仿真10

2.1LPC1114的时钟及其配置10

2.2LPC1114的时钟仿真21

2.3LPC1114的时钟输出端口测试25

2.4习题30第3章程序的编译与下载31

3.1编译程序31

3.2下载程序32

3.2.1Flash Magic32

3.2.2ULINK233

3.3习题36第4章通用输入输出端口及应用37

4.1实例引入37

4.2头文件解析41

4.2.1预定义分析41

4.2.2头文件应用50

4.3GPIO应用详解54

4.3.1GPIO端口操作分析54

4.3.2GPIO端口寄存器60

4.3.3GPIO引脚配置65

4.4GPIO编程实践72

4.5习题73第5章异常和中断系统及应用74

5.1异常74

5.1.1异常及向量地址74

5.1.2优先级75

5.1.3异常处理75

5.2中断系统80

5.2.1NVIC80

5.2.2寄存器及其映射81

5.2.3中断触发与处理86

5.2.4中断操作函数86

5.3外部中断88

5.3.1LPC1114外部中断88

5.3.2外部中断入口函数89

5.4外部中断编程实践90

5.5习题91第6章SysTick定时器及应用92

6.1SysTick定时器功能分析92

6.1.1内部结构92

6.1.2寄存器及其映射93

6.1.3初始值设置95

6.2SysTick定时器编程实践96

6.3习题97第7章通用定时器及应用98

7.1通用定时器概述98

7.1.1内部结构98

7.1.2寄存器及其映射98

7.2定时功能分析101

7.2.1寄存器配置101

7.2.2定时功能编程实践106

7.3计数功能分析108

7.3.1寄存器配置108

7.3.2计数功能编程实践109

7.4输入捕获功能分析112

7.4.1寄存器配置113

7.4.2输入捕获功能编程实践114

7.5PWM功能分析117

 7.5.1寄存器配置117

7.5.2PWM功能编程实践122

7.6通用定时器综合实践124

7.6.1驱动LCD1602液晶屏124

7.6.2红外解码129

7.7习题136第8章通用串行口及应用137

8.1UART功能分析137

8.1.1内部结构137

8.1.2寄存器及其映射137

8.1.3寄存器配置140

8.2UART综合实践150

8.2.1接收中断150

8.2.2发送端口状态157

8.2.3选择性启动159

8.3习题164第9章A/D转换及应用165

9.1A/D转换功能分析165

9.1.1A/D转换器的特性165

9.1.2寄存器及其映射165

9.1.3寄存器配置167

9.1.4注意事项172

9.2A/D转换编程实践173

9.3习题178第10章I2C接口及应用179

10.1I2C接口功能分析179

10.1.1I2C总线179

10.1.2I2C接口的特性180

10.1.3寄存器及其映射181

10.1.4寄存器配置183

10.2I2C接口编程实践190

10.3习题199第11章SPI接口及应用200

11.1SPI接口功能分析200

11.1.1SPI接口特性200

11.1.2寄存器及其映射200

11.1.3寄存器配置202

11.2SPI接口编程实践210

11.3习题218第12章看门狗及应用219

12.1看门狗功能分析219

12.1.1内部结构及特性219

12.1.2寄存器及其映射220

12.1.3寄存器配置221

12.1.4注意事项226

12.2看门狗编程实践227

12.3习题229第13章功耗管理及应用230

13.1功耗管理230

13.1.1PMU230

13.1.2SCR寄存器233

13.1.3节能模式235

13.2功耗管理编程实践242

13.3习题246第14章复位与SWD技术247

14.1复位247

14.1.1复位源247

14.1.2上电复位249

14.1.3外部引脚复位250

14.1.4掉电检测复位251

14.2SWD调试252

14.2.1调试接口252

14.2.2连接方式254

14.3习题254第15章Flash编程固件255

15.1BootLoader256

15.2IAP258

15.3代码读保护268

15.4Flash纠错270

15.5IAP编程实践270

15.6习题280第16章电子时钟实例281

16.1实例描述281

16.2电路原理图281

16.3实例分析282

16.3.1电路分析282

16.3.2功能分析282

16.4程序代码282

16.5代码说明299

16.5.1状态机编程299

16.5.2静态局部变量302

16.5.3其他说明302

16.6习题302附录AI2C总线接口标准状态码303附录B标准ASCII码表311

 

参考文献313

前  言

在当前嵌入式系统的低端应用领域,以ARM CortextM0为核心的芯片有着良好的市场前景。世界各大半导体厂商(如NXP、Freescale、Atmel等)都陆续推出了基于CortextM0内核的系列芯片。随着此类芯片的大量普及,其价格也越来越低,让广大开发者以8位芯片的价格获得了32位芯片的性能,大有取代传统低端芯片之势,所以,学习和使用CortextM0开发的人也越来越多,市场潜力较大。

  2010年,恩智浦(NXP)公司推出的基于ARM CortexM0内核的LPC1100系列芯片具有非常出色的性价比,随后又不断扩展升级,迅速引起业界的广泛关注。本书选取目前较为常用的LPC1114芯片,并把它当作一个32位的高级单片机来进行分析和讨论,本书在结构上也采用了传统单片机教材的形式。在编写过程中,均以官方提供的英文版数据手册为依据,书中所有引用的表格、图片、数据等都来自官方手册,但引用并非简单地对手册进行罗列翻译,而是在理解内容的基础上,结合初学者的认知规律和作者多年的教学实践经验,通过学习者易于接受的形式进行讲述,可提高学习兴趣,减小挫折感。书中讲述的内容符合初学者的认知规律,采取循序渐进的方式,力求解决在学习中可能遇到的问题,突出实际应用。

  本书选取国内流行的MDKARM作为LPC1114的开发环境,用实例的方式讲述了开发中程序结构之间的关系,并详细剖析了头文件的用法,让读者不仅知其然还知其所以然。然后着重讲述LPC1114内部各组成模块的功能及实际应用,包含GPIO端口、时钟源、NVIC中断系统、系统定时器、定时器/计数器、串口、A/D转换、I2C接口、SPI接口、看门狗、功耗管理及Flash编程固件等内容。在每个章节的结尾,都会给出一个与该部分内容密切相关的实例,让学习者容易理解和掌握所讲授的内容,以此来提升学习效果。全书面向实际开发应用,注重对细节的分析,力求让读者能容易上手,快速掌握CortexM0的开发过程。

  对于处理器的学习,从本质上来说就是学习处理器中各个寄存器的原理及其使用方法,为此本书讨论了LPC1114所用到的几乎所有寄存器,但并没有直接罗列所有的寄存器,而是把寄存器的学习放到了实际的例子当中,用到哪个就讨论哪个,这样能有效地避免单纯学习寄存器带来的枯燥。书中对寄存器的描述都先引用官方原文,然后再对其内容进行详细讨论。这样做不仅能提高资料的权威性,还可以避免翻译和理解上的歧义,有利于读者进行学习和参考。即便对于开发人员,本书也可作为资料手册进行查询,而不必再去翻阅官方数据手册。

  书中所有程序代码及教学课件,都可以到清华大学出版社的官方网站上进行下载。本书由云南师范大学信息学院冯迅编写,希望能对有志于学习CortexM0开发的读者起到积极的帮助作用。在此,对清华大学出版社提供的大力支持表示由衷的感谢!由于编者知识局限和时间仓促,书中不足之处在所难免,恳请广大读者批评指正!

 

 

         冯迅

2017年6月

在线试读
第5章异常和中断系统及应用本章学习目标(1) 熟悉CortexM0的异常系统。(2) 掌握NVIC下中断的操作方法。(3) 掌握外部中断的使用方法。5.1异常〖*4/5〗5.1.1异常及向量地址在CortexM0内核中,把Reset(复位)、NMI(不可屏蔽中断)、HardFault(硬错误)、SVCall(超级管理员调用)、PendSV(中断驱动请求)、SysTick(系统定时器请求)及IRQ(中断请求)统一称为“异常”,可见异常是一个比中断更大的概念,中断IRQ只是异常中的一个部分,或者说中断包含于异常。所有的异常都有各自的入口向量地址,而且除了Reset、NMI及HardFault以外,其他异常都具有可配置的优先级,具体如表51所示。表51异常的优先级及向量地址Exception numberIRQ numberException typePriorityVector address1—Reset-3, the highest0x000000042-14NMI-20×000000083-13HardFault-10x0000000C4~10—Reserved——11-5SVCallConfigurable0x0000002C12~13—Reserved——14-2PendSVConfigurable0x0000003815-1SysTickConfigurable0x0000003C16 and above0 and aboveInterrupt (IRQ)Configurable0x00000040 and above从表51中可以看到,在CortexM0内核中,向量入口地址分配从0x00000004到0x00000040,由于是32位字对齐,所以每两个向量地址之间的间隔为4,所以一共有16个异常编号。但由于编号4~10和编号12~13的异常没有定义,所以这9个异常及其向量地址均作为保留,所以实际的CortexM0一共只有7个异常向量,下面就对它们分别进行说明。Reset: 由上电或热复位引发,是一种特殊形式的异常。当复位信号有效时,无论指令执行到什么位置,处理器都将停止当前的指令。复位信号失效后,从复位异常规定的向量入口地址处开始执行,按Thumb模式工作。NMI: 可由外设引发或软件触发,是除Reset之外的最高优先级异常,它永远是被允许的,不能被任何别的异常屏蔽或阻止,除了Reset之外任何异常都不能抢占NMI。HardFault: 在正常情况或异常处理时突然出现错误而引发的一种异常。它比任何一个可以配置优先级的异常的优先级都高。SVCall: 由SVC指令触发的异常,在操作系统环境下,应用程序可使用SVC指令访问操作系统内核或设备驱动程序。PendSV: 它是一种中断驱动的请求,用于面向系统级服务。在操作系统环境下,当没有别的异常激活时,使用PendSV进行上下文切换。SysTick: 由系统滴答定时器计数到0时所引发的一种异常。软件也能产生该异常,在操作系统环境下,处理器可使用这一异常作为系统滳答计时。IRQ: 即中断,是由外设或软件请求而产生的异常,所有的中断对指令的执行都是异步进行的。在计算机系统中,外设通过中断方式与处理器进行通信。5.1.2优先级所有的异常都有一个优先级,优先级数值越小优先级越高。Reset、NMI和HardFault 3个异常具有负数值的固定优先级,比其他异常的优先级更高。当处理器正在执行一个异常处理时,如果有更高优先级的异常发生,则该异常可以被抢占。如果发生的异常与正在执行的异常具有相同的优先级,则不管其异常编号是多少,正在执行的异常都不会被抢占,新发生的异常变为挂起状态。如果在软件中没有配置优先级,那么所有可配置优先级的异常的优先级均为0。关于异常进入,可能会发生以下几种特殊情况。(1) 抢占(Preemption): 当处理器在执行一个异常处理时,另一个异常处理可以抢占这个正在被执行的异常处理,只要其优先级比正在被处理的异常优先级高。一个异常处理抢占另一个异常处理,称为异常的嵌套。(2) 尾链(Tailchaining): 当一个异常处理刚好完成时,若此时有一个挂起的异常满足进入执行的条件,则从堆栈弹出数据的操作会被跳过,直接转到这个新的异常处理,该机制加速了异常服务。(3) 迟到(Latearriving): 当一个异常处理正在保存状态时,如果出现了一个更高优先级的异常,则处理器切换去执行这个优先级更高的异常,为新异常初始化预取向量。迟到异常并不会影响向量的保存,因为两个异常所需要保存的状态是一致的。在迟到异常返回时,正常的尾链规则依然有效,该机制加速了抢占。
书摘插画
插图

插图

插图

插图

插图

插图

抢先评论了 “细说Cortex M0开发——以LPC1114为例” 取消回复

评论

还没有评论。

相关产品

阅读更多
缺货

Python编程 从入门到实践

EUR €37.99
评分 5.00 / 5
阅读更多
缺货

数据结构——C++版(第四版)(英文影印版)

EUR €63.99
加入购物车

Python编程(第四版)

EUR €105.99
评分 5.00 / 5
加入购物车

深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)

EUR €40.99
评分 5.00 / 5

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略