跟工程师学嵌入式开发
¥
12.54
1.4折
¥
88
九五品
仅1件
作者谭贵 编著
出版社电子工业出版社
ISBN9787121327254
出版时间2017-10
版次1
装帧平装
开本16开
纸张胶版纸
页数432页
字数99999千字
定价88元
上书时间2024-12-21
商品详情
- 品相描述:九五品
- 商品描述
-
基本信息
书名:跟工程师学嵌入式开发
定价:88元
作者:谭贵 编著
出版社:电子工业出版社
出版日期:2017-10-01
ISBN:9787121327254
字数:716000
页码:432
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
内容提要
本书选用的STM32芯片基于ARM Cortex-M3体系结构,根据基于MCU的嵌入式技术实际应用需求,合理地选择了多种常用的重要外设接口,如USART、SPI、I2C、FSCM、SDIO总线、以太网等,结合丰富的实例及工程源代码,由浅入深、系统全面地介绍嵌入式系统的底层工作原理。在此过程中,通过穿插多个综合示例的讲解,如命令行外壳程序Shell、eFat文件系统、Telnet远程控制、?C/OS-III实时操作系统的移植过程,无论是嵌入式的初学者,还是有一定开发经验的工程师都能从中获益,使读者既能系统全面地掌握嵌入式开发所需的软硬件知识,又能锻炼他们的综合开发能力,为将来从事嵌入式开发方面的工作奠定坚实的基础。
目录
章 开发利器:STM32库和MDK Keil11.1 学习启航:闪烁的跑马灯11.1.1 实验结果呈现11.1.2 实验分析21.1.3 配置GPIO引脚51.1.4 实验控制逻辑61.2 STM32库结构和CMSIS标准81.2.1 STM32库层次结构91.2.2 CMSIS层次结构91.2.3 STM32库结构中的文件关系101.2.4 STM32库函数命名规则131.2.5 STM32库常见的几个状态类型131.3 工程开发环境设置141.3.1 有关MDK141.3.2 使用MDK建立工程的步骤15第2章 STM32体系结构252.1 总线与通信接口252.1.1 总线组成252.1.2 重要的总线术语262.2 STM32功能框架272.2.1 系统组成272.2.2 总线单元及挂接设备282.3 STM32存储器映射292.3.1 独立编址302.3.2 统一编址(存储器映像编址)312.3.3 CM3外设地址空间映射322.3.4 地址空间映射详解342.4 STM32时钟结构392.4.1 STM32F103ZET6的时钟树392.4.2 时钟树二级框架402.4.3 时钟启用过程412.5 系统时钟树与地址空间映射的关系43第3章 STM32系统启动过程分析443.1 CM3的复位序列443.1.1 堆栈453.1.2 向量表473.2 STM32启动代码分析493.3 STM32系统时钟初始化523.3.1 时钟源的选择523.3.2 系统时钟设置563.4 程序运行环境初始化函数__main603.4.1 回顾编译和链接过程603.4.2 映像文件的组成613.4.3 映像的加载过程633.4.4 由MDK集成环境自动生成的分散加载文件653.4.5 _main函数的作用66第4章 通用GPIO操作684.1 实验结果预览:LED跑马灯684.2 GPIO基本知识684.2.1 GPIO分组管理及其引脚694.2.2 GPIO工作模式及其配置694.2.3 GPIO引脚的写入和读出714.3 实验代码解析744.3.1 实验现象原理分析744.3.2 源代码分析784.4 创建工程814.4.1 建立工程目录结构814.4.2 导入源代码文件814.4.3 编译执行824.5 编译调试824.5.1 调试方法824.5.2 栈和变量观察窗口834.5.3 运行程序并调试:一个函数一个断点844.5.4 运行程序并调试:多个函数多个断点86第5章 外部中断EXTI操作905.1 实验结果预览:LED跑马灯_中断控制905.2 异常与中断915.2.1 Cortex-M3的异常向量915.2.2 异常向量表925.3 NVIC与中断控制935.3.1 NVIC简述935.3.2 NVIC与外部中断935.3.3 NVIC中断的优先级945.3.4 NVIC初始化955.4 EXTI基本知识975.4.1 EXTI简介975.4.2 EXTI控制器组成结构975.4.3 GPIO引脚到EXTI_Line的映射1005.4.4 EXTI_Line到NVIC的映射1025.5 实验代码解析1035.5.1 工程源码的逻辑结构1035.5.2 实验代码软硬件原理1045.5.3 实验代码分析1075.6 创建工程1095.6.1 建立工程目录结构1095.6.2 导入源代码文件1095.6.3 编译执行1105.7 编译调试1115.7.1 打开内存窗口1115.7.2 设置断点1115.7.3 运行程序并调试112第6章 USART接口1156.1 实验结果预览1156.1.1 实验准备工作1156.1.2 实验现象描述1166.2 USART基本知识1176.2.1 串行异步通信协议1176.2.2 USART与接口标准RS-2321186.3 STM32 USART结构1196.3.1 USART工作模式1196.3.2 精简的USART结构1196.3.3 USART单字节收发过程1206.4 USART寄存器位功能定义1216.4.1 状态寄存器(USART_SR)1216.4.2 数据寄存器(USART_DR)1226.4.3 控制寄存器1(USART_CR1)1226.4.4 控制寄存器2(USART_CR2)1236.4.5 控制寄存器3(USART_CR3)1236.4.6 分数波特率寄存器USART_BRR1246.4.7 USART模块寄存器组1256.4.8 USART模块初始化函数1266.4.9 USART常用函数功能说明1276.5 USART实验代码分析1286.5.1 实验电路(硬件连接关系)1286.5.2 工程源代码文件层次结构1306.5.3 应用层(主程序控制逻辑)1316.5.4 用户驱动层1336.5.5 函数printf重定向1356.6 创建工程1356.6.1 建立工程目录结构1356.6.2 创建文件组和导入源文件1366.6.3 编译执行137第7章 USART综合应用:命令行外壳程序Shell1387.1 实验结果预览1387.2 基于USART的I/O函数1397.2.1 字符及字符串获取函数:xgetc和xgets1397.2.2 字符及字符串打印函数:xputc和xputs1417.3 可变参数输出函数xprintf1427.3.1 可变参数1427.3.2 可变参数宏的使用与作用1437.3.3 用可变参数宏实现自己的格式化输出函数xprintf1447.4 Shell外壳1457.4.1 Shell命令管理结构1467.4.2 Shell命令解析过程1477.4.3 命令函数之参数解析1507.5 建立工程,编译和运行1517.5.1 创建和配置工程1517.5.2 编译执行153第8章 I2C接口1548.1 实验结果预览:轮询写入/读出EEPROM数据1548.2 I2C总线协议1558.2.1 总线特点1558.2.2 I2C应用结构1558.2.3 总线信号时序分析1568.3 STM32 I2C模块1588.3.1 I2C组成框图1588.3.2 I2C主模式工作流程1598.3.3 I2C中断及DMA请求1618.4 I2C EEPROM读写示例及分析1628.4.1 示例电路连接1628.4.2 app.c文件中的main函数1638.4.3 eeprom.件1668.4.4 eeprom.c文件1678.4.5 shell.c文件1748.5 建立工程,编译及运行1758.5.1 创建和配置工程1758.5.2 编译执行176第9章 DMA接口1779.1 实验结果预览1779.2 通用DMA的作用及特征1789.3 STM32 DMA基本知识1789.3.1 DMA与系统其他模块关系图1789.3.2 STM32 DMA组成1799.4 实验示例分析1839.4.1 main.c文件中的main函数1849.4.2 USART1的初始化1849.4.3 DMA通道中断处理函数1899.4.4 sysTick中断处理函数1909.4.5 DMA通道配置的其他寄存器1919.4.6 DMA用户测试命令及其执行函数1929.5 建立工程,编译和执行1939.5.1 建立以下工程文件夹1949.5.2 创建文件组和导入源文件1949.5.3 编译运行1940章 实时时钟RTC19510.1 实验结果预览19510.2 STM32 RTC模块19610.2.1 STM32后备供电区域19610.2.2 RTC组成19910.3 RTC实验设计与源码分析20410.3.1 硬件连接和GPIO资源20410.3.2 实验源代码逻辑结构20410.3.3 源代码分析20510.4 建立工程,编译和执行21210.4.1 建立以下工程文件夹21210.4.2 创建文件组和导入源文件21210.4.3 编译执行2131章 系统定时器SysTick21411.1 SysTick简述21411.2 SysTick工作过程21411.3 SysTick寄存器位功能定义21511.3.1 控制和状态寄存器:STK_CTRL21511.3.2 重载寄存器:STK_LOAD21611.3.3 当前计数值寄存器:STK_VAL21711.3.4 校正寄存器:STK_CALIB21711.3.5 SysTick模块寄存器组21711.3.6 配置SysTick定时器21811.4 基于SysTick的函数代码分析22011.4.1 实现原理22011.4.2 实现代码分析22011.4.3 基于SysTick的LED闪烁命令22311.5 建立工程,编译和执行22411.5.1 建立以下工程文件夹22411.5.2 创建文件组和导入源文件22411.5.3 编译运行2262章 SPI接口22712.1 实验现象预览:轮询写入/读出SPI Flash数据22712.2 SPI总线协议22812.2.1 总线信号及其应用结构22812.2.2 SPI内部结构与工作原理22912.3 STM32 SPI模块23112.3.1 SPI组成框图23112.3.2 STM32 SPI主模式数据收发过程23212.3.3 SPI中断及DMA请求23412.4 W25Q128FV规格说明23412.4.1 W25Q128FV状态和控制管理23512.4.2 W25Q128FV常用指令23612.5 程序入口与SPI初始化代码23712.5.1 实验硬件资源23712.5.2 工程入口文件main.c23812.5.3 spiflash.c文件中的spiFlash_Init函数23912.6 SPI Flash测试代码分析24312.6.1 spiflash.c文件中的SPI Flash测试函数spiTest24412.6.2 SPI Flash ID读取函数sFLASH_readID24512.6.3 扇区擦除函数sFLASH_eraseSector24612.6.4 Flash页写函数sFLASH_writePage24612.6.5 Flash读函数sFLASH_readBuffer24712.6.6 Flash字节发送函数sFLASH_SendByte24812.7 向Shell添加SPI测试指令spitest24912.8 建立工程,编译和执行25012.8.1 建立以下工程文件夹25012.8.2 创建文件组和导入源文件25012.8.3 编译运行2523章 网络接口:以太网25313.1 网络体系结构简介25313.1.1 三种网络模型25313.1.2 以太网标准(Ethernet)25613.2 ENC28J60知识25713.2.1 ENC28J60概述25713.2.2 控制寄存器25913.2.3 以太网缓冲器26013.2.4 PHY寄存器26113.2.5 ENC28J60 SPI指令集26113.2.6 ENC28J60初始化26313.2.7 使用ENC28J60收发数据26813.2.8 ENC28J60驱动代码总结27213.3 uIP协议栈简介27413.3.1 uIP特性27413.3.2 uIP应用接口27513.3.3 uIP的初始化及配置函数27713.3.4 uIP的主程序循环27713.4 uIP移植分析27913.4.1 下载uIP1.0版源码文件279
作者介绍
谭贵,男,北京大学计算机科学与技术学士毕业,现供职于富士康科技集团,热爱嵌入式开发技术,精通C、Java语言,Tcl和bash脚本应用;熟悉从MCU裸板外设驱动开发和uCosII实时操作系统的移植,以及基于Linux系统的嵌入式应用开发。
序言
— 没有更多了 —
以下为对购买帮助不大的评价