STM32单片机应用与全案例实践 /stm32自学笔记 第二版 pdf
STM32单片机应用与全案例实践pdf
https://pan.baidu.com/s/16WrivuLcHvLTwS__Zcwl6Q
4rj3
stm32自学笔记 第二版 pdf
https://pan.baidu.com/share/init?surl=hsjGIXm
6k5u
stm32自学笔记第一版pdf
http://js.xiazaicc.com/down1/stm32zxbj_downcc.zip
http://www.downcc.com/soft/317742.html
第1章 如何学习STM32 (1)
1.1 学习STM32必须具备的知识基础 (1)
1.2 STM32的基本架构和基本原理 (2)
1.2.1 什么是ARM (2)
1.2.2 什么是STM32 (3)
1.2.3 STM32的内部结构 (3)
1.2.4 典型型号—STM32F103ZET6 (5)
1.2.5 STM32的时钟树 (5)
1.3 学习STM32的最好方法是什么 (9)
1.4 学习STM32需要哪些工具或平台 (9)
1.4.1 硬件平台 (10)
1.4.2 软件平台 (11)
1.5 STM32程序开发的模式 (12)
1.5.1 基于寄存器的开发模式 (13)
1.5.2 基于ST固件库的开发模式 (20)
1.5.3 基于操作系统的开发模式 (26)
1.5.4 三种编程模式的选用建议 (27)
思考题 (27)
第2章 如何调试STM32 (28)
2.1 STM32单片机的最小系统 (28)
2.2 STM32工程模板的建立 (30)
2.2.1 STM32的固件库(Standard Peripherals Library) (30)
2.2.2 新建工程模板第一步—拷贝固件库文件 (34)
2.2.3 新建工程模板第二步—新建一个KEIL工程 (35)
2.2.4 关于创建工程模板的简单小结 (41)
2.3 程序的烧写 (42)
2.3.1 基于串口的程序下载(烧写)方式 (42)
2.3.2 基于JTAG(SWD)的程序下载(烧写)方式 (44)
2.4 程序的调试 (46)
2.5 模板的使用 (48)
2.6 三个GPIO输出的范例—STM32中实现 延时的三种常用方法 (48)
2.6.1 我的第一个LED工程—基于延时函数的延时 (48)
2.6.2 我的第二个LED工程—SysTick中断延时 (50)
2.6.3 我的第3个工程—定时器中断延时 (52)
2.7 GPIO口的各种输出方式及其应用 (55)
2.7.1 功能要求 (55)
2.7.2 程序实现 (56)
2.8 本章小结 (58)
思考题 (59)
第3章 GPIO及其应用—输入 (60)
3.1 单功能按键输入 (60)
3.1.1 实现思想 (60)
3.1.2 具体程序 (61)
3.2 复用功能按键输入 (64)
3.2.1 按键复用的基本概念 (64)
3.2.2 程序实现举例 (64)
3.3 非按键类开关信号输入及其实现 (67)
3.3.1 GPIO的输入方式及其特点 (67)
3.3.2 程序实现 (68)
3.4 GPIO输入输出小结 (69)
思考题 (70)
第4章 TIMER与PWM (71)
4.1 关于STM32的定时器概述 (71)
4.2 STM32定时器的简单应用 (72)
4.2.1 按周期输出方波的例子 (72)
4.2.2 实现原理 (72)
4.2.3 具体程序 (72)
4.3 STM32定时器的复杂应用—检测输入方波的频率 (77)
4.3.1 STM32定时器的其他特性 (77)
4.3.2 本例设计要求 (78)
4.3.3 硬件接口设计与测量原理 (79)
4.3.4 具体程序 (79)
4.4 PWM原理及其应用一—一个LED呼吸灯的实现 (84)
4.4.1 PWM的基本概念及其基本应用 (84)
4.4.2 STM32的PWM的实现原理 (84)
4.4.3 基于PWM的LED呼吸灯的实现思路 (88)
4.4.4 呼吸灯的实现程序 (89)
4.5 PWM原理及其应用二—通过L298N控制电机转速 (96)
4.5.1 硬件设计 (96)
4.5.2 直流电机调速与调向的原理 (97)
4.5.3 程序实现 (97)
思考题 (104)
第5章 USART及其应用 (105)
5.1 串行通信模块USART的基本应用要点 (105)
5.1.1 STM32的USART及其基本特性 (105)
5.1.2 STM32的USART应用的基本要领 (106)
5.2 一个USART的通信实现(STM32与PC)—查询法 (107)
5.2.1 功能要求 (107)
5.2.2 实现难点 (108)
5.2.3 程序实现 (108)
5.2.4 USART应用的有关事项 (114)
5.3 一个USART的通信实现(STM32与PC)—中断法 (115)
5.3.1 功能要求及通信协议设计 (115)
5.3.2 程序算法 (115)
5.3.3 本例的源程序 (116)
5.4 两个USART的通信实现 (124)
5.4.1 功能要求与通信协议 (124)
5.4.2 接口设计 (124)
5.4.3 程序实现 (125)
5.5 USART应用小结 (139)
思考题 (141)
第6章 人机界面—按键输入与液晶显示 (142)
6.1 STM32与液晶模块12864的接口实现 (142)
6.1.1 STM32与液晶模块12864的接口实现—延时法 (142)
6.1.2 STM32与液晶模块12864的接口实现—查询“忙”状态 (153)
6.2 基于液晶模块12864的菜单实现 (173)
6.2.1 程序中菜单的种类与菜单化程序的优势 (173)
6.2.2 基于液晶模块12864的菜单实现实例 (173)
6.3 矩阵键盘的接口实现 (186)
6.3.1 矩阵键盘的应用与程序设计思想 (186)
6.3.2 4×4矩阵键盘的硬件设计 (186)
6.3.3 演示程序 (187)
6.4 本章小结 (198)
思考题 (199)
第7章 同步串行接口总线SPI与I2C (200)
7.1 STM32的SPI (200)
7.1.1 SPI概述 (200)
7.1.2 STM32之SPI总线的应用要点 (201)
7.2 SPI的接口应用及其实现 (202)
7.2.1 STM32与OLED12864液晶模块的SPI接口 (202)
7.2.2 STM32的SPI1与OLED12864的接口程序 (203)
7.3 STM32的I2C总线 (223)
7.3.1 I2C总线的基本概念 (223)
7.3.2 STM32的I2C总线应用要领 (226)
7.4 STM32的I2C总线的应用举例 (227)
7.4.1 具有I2C接口的DS3231时钟模块 (227)
7.4.2 STM32与DS3231时钟模块的硬件接口 (229)
7.4.3 STM32与DS3231的软件接口及其演示实例 (229)
7.5 I2C总线稳健性设计 (247)
思考题 (247)
第8章 ADC、DAC与DMA及其应用 (248)
8.1 STM32的DMA (248)
8.1.1 STM32的DMA及其基本特性 (248)
8.1.2 STM32的DMA原理及其配置要点 (249)
8.2 STM32的ADC (251)
8.2.1 STM32的ADC的基本特性 (251)
8.2.2 STM32的ADC的程序流程与编程要点 (253)
8.3 一个三通道A/D转换的范例 (254)
8.3.1 功能要求与方案设计 (254)
8.3.2 实现程序 (256)
8.3.3 本例的中断法实现 (263)
8.4 STM32的DAC (266)
8.4.1 DAC概述 (266)
8.4.2 DAC的配置要领 (266)
8.4.3 DAC应用实例 (268)
思考题 (277)
第9章 工程实例—基于线性CCD的小车循迹系统 (278)
9.1 系统要求 (278)
9.2 线性CCD的原理及其使用 (278)
9.2.1 线性CCD传感器原理 (279)
9.2.2 线性CCD传感器应用 (280)
9.2.3 硬件接口 (281)
9.3 自适应曝光的算法设计 (281)
9.3.1 自适应曝光算法 (281)
9.3.2 模块化架构 (283)
9.4 具体程序 (285)
9.4.1 工程文件视图—文件结构 (285)
9.4.2 程序源代码 (286)
9.5 系统性能实测 (315)
9.5.1 系统实物与测试环境 (315)
9.5.2 系统实测结果 (316)
思考题 (318)
参考文献 (319)
STM32单片机应用与全案例实践 /stm32自学笔记 第二版 pdf的更多相关文章
- STM32单片机是如何启动的?
STM32单片机是如何启动的? STM32中的内存 STM32中的内存包含两块主要区域:flash memory(只读).static ram memory(SRAM,读写).其中,flash mem ...
- 基于STM32单片机光学指纹识别模块(FPM10A)全教程(基于C语言)
本文转载,其来源在参考中:1,稍加修改,因为近期使用到这个模块,故而加以整理! 1.平台 首先我使用的是 奋斗 STM32 开发板 MINI板 基于STM32单片机光学指纹识别模块(FPM10A)全教 ...
- 使用 VSCode 开发调试 STM32 单片机尝试
使用 VSCode 开发调试 STM32 单片机尝试 本文记录基于 Windows + DAP-Link 开发 STM32F103C8T6 的实践过程,其他操作系统或芯片应该也只是大同小异的问题. 注 ...
- 单片机DIY制作-基于STM32单片机甲醛二氧化碳温度湿度采集系统
基于STM32单片机甲醛二氧化碳温度湿度采集系统 实践制作DIY-GC008-甲醛二氧化碳温度湿度采集系统 一.功能说明: 基于STM32单片机设计-甲醛二氧化碳温度湿度采集系统 二.功能介绍: 1. ...
- 小白转行入门STM32----手机蓝牙控制STM32单片机点亮LED
@ 目录 引言导读 一.通信基础知识 1.1 通信到底传输的是什么? 1.2 比特率和波特率 习题 1.1 双工和单工 习题 1.2 串行和并行 1.3 异同通信和同步通信 习题 二.连接STM32单 ...
- 龙邱STM32单片机用J-LINK下载无法被识别的解决方法
问题如下: 按照正常步骤使用keil5给龙邱的stm32下载程序,SWD下载方式提示no cortex-m sw device found,JTAG方式提示no cortex-m device fou ...
- STM32单片机在Keil5下仿真的问题解决及GPIO口初始化、使用
STM32单片机在Keil5下仿真的问题解决及GPIO口初始化.使用 最近看了视频,里面有仿真,可以清楚看到GPIO口的数据变化,也想尝试下,DUG时却出现*** error 65: access v ...
- STM32单片机学习心得——概述
我校的课程真是跟不上时代发展,甚至还在教授8051/8052单片机的内容,于是不甘寂寞的我就自己踏入了STM32单片机的坑-- 首先,我现在大二,刚学完模拟电子技术,还没有学习数字电路技术,于是自学单 ...
- 关于STM32单片机的IAP实现
基于STM32F103单片机的IAP实现(虽然该篇文章不会详细写出实现细节,但是会从一个全局的角度讲述,实际的实现细节只需根据datasheet即可完成). 一.基础概念 什么是IAP?IAP即在应用 ...
随机推荐
- Golang源码学习:调度逻辑(三)工作线程的执行流程与调度循环
本文内容主要分为三部分: main goroutine 的调度运行 非 main goroutine 的退出流程 工作线程的执行流程与调度循环. main goroutine 的调度运行 runtim ...
- html5学习之路_002
html块 html块元素 块元素在显示时,通常会以新行开始 如:<h1>.<p>.<ul> html内联元素 内联元素头通常不会以新行开始 如:<b> ...
- 坑爹的PostgreSQL的美元符号(有时需要替换成单引号)
今天想在PostgeSQL数据库里建一个存储过程(或函数也行),由于对存储过程比较生疏,上网搜了很多教程和源代码例子,照着写,发现怎么都不行,甚至把网上教程包括官方教程的源代码原封不动的复制下来一执行 ...
- 分布式事务专题笔记(二)分布式事务解决方案之 2PC(两阶段提交)
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 前面已经了解了分布式事务的基础理论,以理论为基础,针对不同的分布式场景业界常见的解决方案有2PC.TCC ...
- Java实现 LeetCode 476 数字的补数
476. 数字的补数 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 示例 1: 输入: 5 输出: 2 解释: 5 的二进制表示为 101(没有前导零位),其补数为 010.所以你需要 ...
- Java实现 蓝桥杯VIP 算法训练 递归求二进制表示位数
问题描述 给定一个十进制整数,返回其对应的二进制数的位数.例如,输入十进制数9,其对应的二进制数是1001,因此位数是4. 样例输入 一个满足题目要求的输入范例. 9 样例输出 与上面的样例输入对应的 ...
- Java实现 LeetCode 225 用队列实现栈
225. 用队列实现栈 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() – 返回栈是否为空 注意: 你只能使 ...
- java代码(4)---guava之Immutable(不可变)集合
Immutable(不可变)集合 一,概述 guava是google的一个库,弥补了java语音的很多方面的不足,很多在java8中已有实现,暂时不展开,Collections是jdk提供的一个工 ...
- lambda表达式操作DataTable
using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text; ...
- 更多的bash shell命令
1.探查进程:ps 2.实时监控进程:top 3.结束进程:kill.killall 4.查看挂载媒体:mount 5.移除设备:nmount 6.查看已挂载设备的使用情况:df 7.显示特定磁盘的使 ...