文轩网图书旗舰店
  • 扫码下单

  • STM32Cube高效开发教程(高级篇) 王维波,鄢志丹,王钊 编 专业科技 文轩网
  • 新华书店正版
    • 作者: 暂无著
    • 出版社: 人民邮电出版社
    • 出版时间:2022-03-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    店铺装修中

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    文轩网图书旗舰店

  •      https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: 暂无著
    • 出版社:人民邮电出版社
    • 出版时间:2022-03-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2022-03-01
    • 字数:831000
    • 页数:520
    • 开本:16开
    • 装帧:平装
    • ISBN:9787115552518
    • 国别/地区:中国
    • 版权提供:人民邮电出版社

    STM32Cube高效开发教程(高级篇)

    作  者:王维波,鄢志丹,王钊 编
    定  价:129.9
    出 版 社:人民邮电出版社
    出版日期:2022年03月01日
    页  数:520
    装  帧:平装
    ISBN:9787115552518
    主编推荐

    1. 使用ST官方的STM32Cube全套工具链软件。STM32CubeMX进行MCU图形化配置然后导出初始化代码的开发方式简单便捷,程序结构统一,开发效率高,是广大初学者最容易掌握的方式。 2. 使用ST官方免费的IDE软件TrueSTUDIO和STM32CubeIDE,没有软件版权风险。 3. 本书介绍STM32 嵌入式开发的不错内容:STM32Cube MCU 固件库所包含一些移植好的中间件,如 FreeRTOS、FatFS、LibJPEG、USB_Host、USB_Device 等,以及 SDIO、USB-OTG、DCMI 等硬件接口的编程和使用方法,旨在帮助读者掌握嵌入式操作系统、嵌入式文件系统、图片显示和触摸屏交互操作等知识。 4. 本书为读者提供示例源代码、示例运行演示视频、课件等资源,读者可登录异步社区图书页面下载。

    内容简介

    本书介绍STM32开发的一些不错内容。第一部分详细介绍嵌入式操作系统FreeRTOS的使用:第二部分介绍使用FatFS管理SPI-Flash芯片、SD卡和U盘上的文件系统;第三部分介绍BMP和JPG图片的获取与显示,触摸屏的使用,DCMI接口和数字摄像头等。全书使用STM32CubeMX和STM32CubeIDE软件开发例程,讲解FreeRTOS、FatFS、LibJPEG、USB_Host、USB_Device等中间件以及SDIO、USB-OTG、DCMI等外设的原理和使用方法,并针对一个STM32F407开发板编写了完整示例项目。通过阅读本书,读者可以掌握STM32开发中的嵌入式操作系统、文件系统、触摸屏等不错软硬件的开发方法。本书适合已经掌握STM32CubeMX和STM32CubeIDE软件的使用以及STM32常用外设的STM32Cube开发等相关基础内容的读者阅读,可以作为高等院null

    作者简介

    王维波,博士、中国石油大学(华东)控制科学与工程学院教师。从事测控与仪器开发领域的教学和研究工作,主要研究方向是地球物理探测仪器开发、数据处理方法和软件开发。参与完成国家自然科学基金、山东省重点研发计划等多个科研项目,发表论文 20 余篇。著有《Qt 5.9 C++ 开发指南》和《Python Qt GUI 与数据可视化编程》。 鄢志丹,博士、中国石油大学(华东)控制科学与工程学院教师。从事随钻测控技术、自抗扰控制方法、井下仪器开发、微弱信号处理等方面的研究工作。主持国家自然科学基金、中国博士后科学基金、山东省自然科学基金等 10 余个科研项目,获授权发明 10 余项,发表论文 30 余篇。 王钊,博士、中国石油大学(华东)控制科学与工程学院教师。从事自动化相关的教学和研究工作,主要研究方向是非线性系统的非光滑控制研究、故障诊断、工业过程控制等。主持山东省很好中青年科学家科研奖励基金项null

    精彩内容

    目录
    第一部分 嵌入式操作系统FreeRTOS
    第1章 FreeRTOS基础2
    1.1 FreeRTOS概述2
    1.1.1 FreeRTOS的发展历史2
    1.1.2 FreeRTOS的特点和许可方式2
    1.1.3 FreeRTOS的一些概念和术语3
    1.1.4 为什么要使用RTOS4
    1.2 FreeRTOS入门示例4
    1.2.1 CubeMX项目配置5
    1.2.2 含FreeRTOS的项目的文件组成8
    1.2.3 程序分析和功能实现9
    1.3 FreeRTOS的文件组成和基本原理15
    1.3.1 FreeRTOS的文件组成15
    1.3.2 FreeRTOS的编码规则20
    1.3.3 FreeRTOS的配置和功能裁剪21
    第2章 FreeRTOS的任务管理29
    2.1 任务相关的一些概念29
    2.1.1 多任务运行基本机制29
    2.1.2 任务的状态30
    2.1.3 任务的优先级31
    2.1.4 空闲任务32
    2.1.5 基础时钟与嘀嗒信号32
    2.2 FreeRTOS的任务调度32
    2.2.1 任务调度方法概述32
    2.2.2 使用时间片的抢占式调度方法33
    2.2.3 不使用时间片的抢占式调度方法34
    2.2.4 合作式任务调度方法35
    2.3 任务管理相关函数36
    2.3.1 相关函数概述36
    2.3.2 主要函数功能说明38
    2.4 多任务编程示例一40
    2.4.1 示例功能与CubeMX项目设置40
    2.4.2 初始程序分析42
    2.4.3 编写用户功能代码44
    2.5 任务管理工具函数49
    2.5.1 相关函数概述49
    2.5.2 获取任务句柄50
    2.5.3 单个任务的操作51
    2.5.4 内核信息统计53
    2.6 多任务编程示例二55
    2.6.1 示例功能与CubeMX项目设置55
    2.6.2 程序功能实现56
    第3章 FreeRTOS的中断管理62
    3.1 FreeRTOS与中断62
    3.2 任务与中断服务例程64
    3.2.1 任务与中断服务例程的关系64
    3.2.2 中断屏蔽和临界代码段65
    3.2.3 在ISR中使用FreeRTOS API函数66
    3.2.4 中断及其ISR设计原则67
    3.3 任务和中断程序设计示例67
    3.3.1 示例功能和CubeMX项目设置67
    3.3.2 基本功能代码69
    3.3.3 各种特性的测试71
    第4章 进程间通信与消息队列74
    4.1 进程间通信74
    4.2 队列的特点和基本操作75
    4.2.1 队列的创建和存储75
    4.2.2 向队列写入数据76
    4.2.3 从队列读取数据77
    4.2.4 队列操作相关函数78
    4.3 队列使用示例79
    4.3.1 示例功能和CubeMX项目设置79
    4.3.2 初始代码分析80
    4.3.3 实现用户功能82
    第5章 信号量86
    5.1 信号量和互斥量概述86
    5.1.1 二值信号量86
    5.1.2 计数信号量87
    5.1.3 互斥量87
    5.1.4 递归互斥量88
    5.1.5 相关函数概述88
    5.2 二值信号量使用示例90
    5.2.1 二值信号量操作相关函数详解90
    5.2.2 示例功能和CubeMX项目设置92
    5.2.3 程序功能实现94
    5.3 计数信号量使用示例98
    5.3.1 计数信号量操作相关函数详解98
    5.3.2 示例功能和CubeMX项目设置99
    5.3.3 程序功能实现100
    第6章 互斥量104
    6.1 优先级翻转问题104
    6.2 互斥量的工作原理105
    6.2.1 优先级继承105
    6.2.2 互斥量相关函数详解105
    6.3 优先级翻转示例106
    6.3.1 示例功能和CubeMX项目设置106
    6.3.2 程序功能实现107
    6.4 互斥量使用示例111
    6.4.1 示例功能和CubeMX项目设置111
    6.4.2 程序功能实现111
    第7章 事件组115
    7.1 事件组的原理和功能115
    7.1.1 事件组的功能特点115
    7.1.2 事件组的工作原理115
    7.2 事件组相关函数116
    7.2.1 相关函数概述116
    7.2.2 部分函数详解117
    7.3 事件组使用示例120
    7.3.1 示例功能和CubeMX项目设置120
    7.3.2 程序功能实现120
    7.4 通过事件组进行多任务同步125
    7.4.1 多任务同步原理125
    7.4.2 示例功能和CubeMX项目设置126
    7.4.3 程序功能实现127
    第8章 任务通知132
    8.1 任务通知的原理和功能132
    8.2 任务通知的相关函数133
    8.2.1 相关函数概述133
    8.2.2 函数详解134
    8.3 示例一:使用任务通知传递数据137
    8.3.1 示例功能与CubeMX项目设置137
    8.3.2 程序功能实现138
    8.4 示例二:将任务通知用作计数信号量141
    8.4.1 示例功能141
    8.4.2 CubeMX项目设置141
    8.4.3 程序功能实现142
    第9章 流缓冲区和消息缓冲区145
    9.1 流缓冲区功能概述145
    9.2 流缓冲区操作的相关函数146
    9.2.1 相关函数概述146
    9.2.2 部分函数详解146
    9.2.3 表示发送完成和接收完成的宏149
    9.3 流缓冲区使用示例149
    9.3.1 示例功能与CubeMX项目设置149
    9.3.2 程序功能实现151
    9.4 消息缓冲区功能概述154
    9.5 消息缓冲区操作相关函数154
    9.5.1 相关函数概述154
    9.5.2 部分函数详解155
    9.6 消息缓冲区使用示例157
    9.6.1 示例功能与CubeMX项目设置157
    9.6.2 程序功能实现158
    第10章 软件定时器162
    10.1 软件定时器概述162
    10.1.1 软件定时器的特性162
    10.1.2 软件定时器的相关配置163
    10.1.3 定时器服务任务的优先级163
    10.2 软件定时器的相关函数164
    10.2.1 相关函数概述164
    10.2.2 部分函数详解165
    10.3 软件定时器使用示例169
    10.3.1 示例功能和CubeMX项目设置169
    10.3.2 程序功能实现170
    第11章 空闲任务与低功耗174
    11.1 HAL和FreeRTOS的基础时钟174
    11.1.1 使用SysTick作为HAL的基础时钟174
    11.1.2 使用其他定时器作为HAL的基础时钟177
    11.1.3 FreeRTOS的基础时钟179
    11.2 空闲任务与低功耗处理182
    11.2.1 实现原理182
    11.2.2 设计示例183
    11.3 Tickless低功耗模式186
    11.3.1 Tickless模式的原理和功能186
    11.3.2 Tickless模式的使用示例187
    第二部分 FatFS管理文件系统
    第12章 FatFS和文件系统192
    12.1 FatFS概述192
    12.1.1 FatFS的作用192
    12.1.2 文件系统的一些基本概念193
    12.1.3 FatFS的功能特点和参数194
    12.1.4 FatFS的文件组成195
    12.1.5 FatFS的基本数据类型定义196
    12.2 FatFS的应用程序接口函数197
    12.2.1 卷管理和系统配置相关函数197
    12.2.2 文件和目录管理相关函数200
    12.2.3 目录访问相关函数203
    12.2.4 文件访问相关函数204
    12.3 FatFS的存储介质访问函数208
    12.4 针对SPI-Flash芯片移植FatFS209
    12.4.1 SPI-Flash芯片硬件电路209
    12.4.2 CubeMX项目基础设置210
    12.4.3 在CubeMX中设置FatFS210
    12.4.4 项目中FatFS的文件组成216
    12.4.5 FatFS初始化过程218
    12.4.6 针对SPI-Flash芯片的Disk IO函数实现226
    12.5 在SPI-Flash芯片上使用文件系统231
    12.5.1 主程序功能231
    12.5.2 磁盘格式化234
    12.5.3 获取FAT磁盘信息234
    12.5.4 扫描根目录下的文件和子目录236
    12.5.5 创建文件和目录237
    12.5.6 读取文本文件239
    12.5.7 读取二进制文件239
    12.5.8 获取文件信息241
    12.5.9 文件file_opera.h的完整定义242
    第13章 直接访问SD卡245
    13.1 SD卡简介245
    13.1.1 SD卡的分类245
    13.1.2 常规SD卡的接口246
    13.2 SDIO接口硬件电路247
    13.2.1 STM32F407的SDIO接口247
    13.2.2 开发板上的microSD卡连接电路248
    13.3 SDIO接口和SD卡的HAL驱动程序249
    13.3.1 SD驱动程序概述250
    13.3.2 初始化和配置函数251
    13.3.3 读取SD卡的参数信息251
    13.3.4 获取SD卡的当前状态255
    13.3.5 以轮询方式读写SD卡255
    13.3.6 以中断方式读写SD卡256
    13.3.7 以DMA方式读写SD卡256
    13.4 示例一:以轮询方式读写SD卡257
    13.4.1 示例功能与CubeMX项目设置257
    13.4.2 主程序与SDIO接口/SD卡初始化259
    13.4.3 程序功能实现260
    13.5 示例二:以DMA方式读写SD卡264
    13.5.1 示例功能与CubeMX项目设置264
    13.5.2 主程序与外设初始化265
    13.5.3 程序功能实现268
    第14章 用FatFS管理SD卡文件系统272
    14.1 SD卡文件系统概述272
    14.2 示例一:阻塞式访问SD卡272
    14.2.1 示例功能与CubeMX项目设置272
    14.2.2 项目文件组成和初始代码分析274
    14.2.3 SD卡的Disk IO函数实现278
    14.2.4 SD卡文件管理功能的实现284
    14.3 示例二:以DMA方式访问SD卡288
    14.3.1 示例功能和CubeMX项目设置288
    14.3.2 Disk IO函数实现代码分析289
    14.3.3 SD卡文件管理功能的实现291
    第15章 用FatFS管理U盘文件系统295
    15.1 USB概述295
    15.1.1 USB协议295
    15.1.2 USB设备类型296
    15.1.3 USB接口类型296
    15.2 STM32F407的USB-OTG接口298
    15.2.1 USB-OTG概述298
    15.2.2 USB-OTG FS299
    15.2.3 开发板上的USB接口电路302
    15.3 作为USB Host读写U盘303
    15.3.1 示例功能和CubeMX项目设置303
    15.3.2 项目文件组成和初始代码分析307
    15.3.3 USBH状态变化测试316
    15.3.4 U盘文件管理功能实现318
    第16章 USB-OTG用作USB MSC外设324
    16.1 开发板作为USB MSC外设的原理324
    16.2 示例一:SD卡读卡器326
    16.2.1 示例功能和CubeMX项目设置326
    16.2.2 项目文件组成和初始代码分析328
    16.2.3 程序功能实现333
    16.3 示例二:增加FatFS管理本机文件功能336
    16.3.1 示例功能和CubeMX项目设置336
    16.3.2 程序功能实现337
    16.3.3 运行测试340
    第17章 在FreeRTOS中使用FatFS341
    17.1 在RTOS中使用FatFS需考虑的问题341
    17.1.1 可重入性问题341
    17.1.2 FatFS的可重入性341
    17.2 FreeRTOS中使用FatFS的示例343
    17.2.1 示例功能和CubeMX项目设置343
    17.2.2 项目文件组成和初始代码分析346
    17.2.3 FatFS API函数的重入性实现原理350
    17.2.4 添加用户功能代码354
    第三部分 图片的获取与显示
    第18章 BMP图片360
    18.1 LCD显示图片的原理360
    18.1.1 像素颜色的表示360
    18.1.2 根据图片的RGB565数据显示图片360
    18.2 图片显示示例362
    18.2.1 示例功能与CubeMX项目配置362
    18.2.2 程序功能实现363
    18.3 BMP图片文件的格式368
    18.3.1 BMP图片文件的数据分段368
    18.3.2 位图文件头368
    18.3.3 位图信息头369
    18.3.4 位图数据370
    18.4 BMP图片文件的读写操作示例370
    18.4.1 示例功能和CubeMX项目设置370
    18.4.2 程序功能实现372
    18.4.3 BMP文件操作驱动程序377
    第19章 JPG图片387
    19.1 JPEG和LIBJPEG387
    19.2 JPG图片文件的读写操作示例388
    19.2.1 示例功能和CubeMX项目设置388
    19.2.2 程序功能实现389
    19.2.3 JPG文件操作驱动程序395
    第20章 电阻式触摸屏405
    20.1 电阻式触摸屏的工作原理405
    20.2 电阻式触摸屏的软硬件接口406
    20.3 示例一:轮询方式检测触摸屏输出407
    20.3.1 示例功能407
    20.3.2 CubeMX项目设置407
    20.3.3 主程序功能实现409
    20.3.4 GUI界面的创建与交互操作413
    20.3.5 电阻式触摸屏驱动程序420
    20.4 示例二:中断方式获取触摸屏输出426
    20.4.1 示例功能和CubeMX项目设置426
    20.4.2 程序功能实现427
    第21章 电容式触摸屏431
    21.1 电容式触摸屏的工作原理431
    21.2 电容式触摸屏的软硬件接口431
    21.2.1 电容式触摸屏接口431
    21.2.2 电容式触摸屏控制芯片功能433
    21.3 电容触摸屏的使用示例437
    21.3.1 示例功能和CubeMX项目设置437
    21.3.2 程序功能实现438
    21.3.3 电容触摸屏驱动程序443
    第22章 DCMI接口和数字摄像头455
    22.1 数字摄像头455
    22.1.1 数字摄像头概述455
    22.1.2 OV7670图像传感器的功能和接口456
    22.1.3 OV7670数据输出时序和格式457
    22.1.4 SCCB通信458
    22.1.5 OV7670的寄存器460
    22.2 DCMI接口461
    22.2.1 DCMI接口概述461
    22.2.2 DCMI接口传输时序462
    22.2.3 DCMI数据存储格式463
    22.2.4 DCMI图像采集方式464
    22.2.5 DCMI的中断465
    22.3 DCMI的HAL驱动465
    22.3.1 主要驱动函数概述465
    22.3.2 DCMI接口初始化466
    22.3.3 DCMI的采集控制467
    22.4 DCMI和摄像头使用示例467
    22.4.1 摄像头模块467
    22.4.2 开发板与摄像头模块的连接468
    22.4.3 示例功能与CubeMX项目设置470
    22.4.4 程序功能实现474
    附录A CubeMX模板项目和公共驱动程序的使用487
    A.1 公共驱动程序的目录组成487
    A.2 CubeMX模板项目488
    A.3 新建CubeMX项目后导入模板项目的配置488
    A.4 复制模板项目以新建CubeMX项目490
    A.5 在CubeIDE中设置驱动程序搜索路径490
    附录B 复制一个项目493
    附录C 开发板功能模块494
    附录D 本书示例列表498
    附录E 缩略词501
    参考文献503

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购