拿到开发板,怎么入手?

1.先看光盘目录,了解提供的资料情况
2.找到核心学习资料,大致了解开发板硬件资源
3.查看资料,安装开发环境
4.开启学习之旅,先找资料,基础要多学多问
5.学习过程中不懂的,先找资料,然后提问
6.高级的知识,可以慢慢来学
[谭浩强《C程序设计 第四版》]
[库函数和寄存器对比学习,掌握库函数基本配置方法|了解寄存器底层配置过程]

常见外设:

1)基本外设:
-GPIO输入输出、外部中断、定时器、串口
2)基本外设接口
-SPI、IIC、WDG(看门狗)、FSMC、ADC/DAC、SDIO等
-这些外设接口功能原理对每个芯片几乎都是一样,对芯片而言就是加减法而已
3)高级功能
-UCOS、FATFS、EMWIN等,以及一些应用

WDG(看门狗):是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU,是MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞
MCU的两条看门狗:
IWDG: 基本就等同于我们独立使用的看门狗芯片。
最适合那些要求看门狗作为一个完全独立的进程在主应用程序之外运行,但时间精度约束较低的应用程序。独立的看门狗(IWDG)由其自己的专用低速时钟(LSI)提供时钟。因此即使主时钟发生故障,IWDG 仍然可以保持活动状态
WWDG: 窗口看门狗通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在 T6 位变成 0 前被刷新,看门狗电路在达到预置的时间周期时,会产生一个 MCU 复位。如果在递减计数器达到窗口寄存器值之前刷新控制寄存器中的 7 位递减计数器值,也会产生 MCU 复位。这意味着必须在限定的时间窗口内刷新计数器
WWDG 最适合那些要求看门狗在精确计时窗口起作用的应用程序。WWDG 时钟是预先从 APB 时钟中分频出来的,并且有一个可配置的时间窗口,可以通过编程来检测异常的晚期或早期应用程序行为

FSMC:总线控制器,控制SRAM、NOR FLASH、NAND FLASH、PC Card、LCD、TFT。

SDIO:在SD内存卡接口的基础上发展起来的接口,SDIO接口兼容以前的SD内存卡,并且可以连接SDIO接口的设备。
SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是主机(HOST)端,另一端是设备端(DEVICE),采用HOST- DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。在DEVICE端只要能解析HOST的命令,就可以同HOST进行通信了,SDIO的HOST可以连接多个DEVICE。
SDIO的信号传输模式有SPI、1-bit、4-bit三种。在SPI模式中,第8脚位被当成中断信号。其它脚位的功能和通信协定与SD记忆卡的标准规范一样。在SDIO总线定义中,DAT1信号线复用为中断线。在SDIO的1BIT模式下DAT0用来传输数据,DAT1用作中断线。在SDIO的4BIT模式下DAT0-DAT3用来传输数据,其中DAT1复用作中断线。

【SDIO电路设计注意事项:】

SDIO走线速率较高,尽量控制寄生电容
CMD、D0~D3走线长度以CLK走线长度为基准±3mil,需要时绕蛇形线
CLK走线尽量单独包地,从芯片管脚到SD接口的总长度越短越好,控制在2500mil以内,最好在2000mil以内
SDIO走线要保证不跨平面
射频走线最为理想的是微带线50Ohm管控,而不是共面波导50Ohm管控;同时射频走线上方能不铺绿油就不要铺绿油
电源走线能粗就粗一点,没坏处
模组PCB表面工艺一定要沉金1oz,有钱可以尝试2oz,但一定不能喷锡和裸铜
板材要选择Tg190及以上,最好200以上
2G链路中的滤波器最好加上,防止认证中各种问题
芯片底部的过孔一定要足量,否则会引起Mask问题
因为模组散热,将大电感及大电容从模组移至底板,增加模组本身散热能力
VCO电源上的磁珠不能省,而且要小心磁饱和

ucos系统

一款源代码开放的,抢占式多任务实时操作系统。
ucos的任务和这个后台系统及其他的多任务系统一样,每个任务都是一个独立功能的无限循环。不同的是,ucos支持任务的参数输入。

FatFs文件系统

文件系统负责管理和存储文件信息的软件机构,在磁盘上组织文件的方法。 
对于 SPI Flash 芯片或者 SD 卡之类的大容量设备,我们需要一种高效的方式来管理它的存储内容。这些管理方式即为文件系统,它是为了存储和管理数据,而在存储介质建立的一种组织结构,这些结构包括操作系统引导区、目录和文件。
windows下常用的文件系统:FAT/FATFS(小型嵌入式系统)、 NTFS (WINDOWS)、CDFS(光盘)、exFAT(内存)。
FatFs 是面向小型嵌入式系统的一种通用的 FAT 文件系统。

emWin

Segger公司针对嵌入式平台开发的稳定、高效的图形软件库,适合用于任何图形LCD的操作应用,并可输出高质量的无锯齿的文字和图形,通过调用emWin提供的函数接口,开发嵌入式图形界面应用变得简单而快捷

外设指的是单片机外部的外围功能模块
比如键盘控制芯片,液晶,
A/D转换芯片,等等。外设可通过单片机的I/O,SPI,I2C等总线控制。
片上(板载):指在单片机上面搭载,焊接的一些东西
片外:指在单片机外另外接的一些东西,如外接摄像头等

常见stm32外设:

基本IO、定时器TIM、串口USART、ADC模数转换、DAC数模转换、
SPI串行通信、EXIT外部中断、BKP备份数据、
RTC闹钟SysTIck系统滴答、WDG看门狗(独立+窗口)、
DMA传输数据、片内FLASH编程、FSMC读写外部SRAM、外部NorFlash操作等。

PWM:脉冲宽度调制(调节脉冲的宽度)
VCC:接入电路的电压
VDD:器件内部的工作电压(数字电源)
VSS:电路公共接地端的电压(数字地)
VDDA:模拟电源
VSSA:模拟地
VEE:负电压供电
VPP:编程/擦除电压
NC(后期调试):空置,原理图在生成BOM时无该器件、贴片也不对该器件进行焊接

晶振

晶体振荡器,每个单片机系统都有晶振,通电后会产生机械震荡,
提供稳定的时钟源,
(晶振提供时钟频率越高,单片机运行速度越快)
电能《==》机械能 共振 提供稳定、精确的单频振荡
晶振的作用
1)为系统提供基本的时钟信号;
2)晶振与锁相环电路配合使用,以提供系统所需的时钟频率。

继电器工作原理及作用

继电器
电驿,电子控制器件,具有控制系统(输入回路)和被控制系统(输出回路)
作用:用较小的电流去控制较大电流的一种“自动开关”、自动调节、
安全保护、转换电路…
用低电压控制高电压,远距离控制,自动控制
1)扩大控制范围
2)放大(微小控制量控制很大功率的电路)
3)综合信号(多个控制信号达到一个控制效果)
4)自动、遥控、检测(组成程序控制线路,从而实现自动化运行)

铁芯、衔铁、触点弹簧…
调帽…
PWM:

phase:相位
脉宽: W = ton
周期: T = ton + toff = 1/f
占空比: D = ton/(ton+toff) = ton/T
T:脉冲周期(时间)
f:脉冲频率(Hz)
W:脉冲宽度(脉冲高电平持续的时间)
D:占空比(脉宽除以脉冲周期的时间)

电平:

TTL电平:
输出低电平要小于0.8V,高电平要大于2.4V;
输入低于1.2V就认为是0,高于2.0就认为是1;
RS232电平:
逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,介于-3~+3V之间的电压无意义;
RS485电平:
差分信号-2500mv~-200mv为逻辑0;
差分信号+2500mv~+200mv为逻辑1;
-200mv~+200mv为高阻状态
MAX232芯片:
是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL;
TTL电平一般用于芯片与芯片之间的通信;
RS232采用了正负逻辑电平,提高线路的抗干扰性最远可以达到15米左右;
如果更远的距离会采样RS485,它使用两线制的差分信号传输,最远可至1200米;
RS232全双工只支持点对点通讯(1:1);
RS485半双工或单双工支持总线形式通讯(1:N)。

ARM是软件技术,而STM是载有ARM技术的硬件应用 【淘宝众筹】

USB转串口:

调帽(外部绝缘塑料,内部导电材料,改变电路,类似开关),晶振(通过机械振动提供时钟频率和时钟信号)
调帽参考链接:https://zhidao.baidu.com/question/60558299.html
晶振(无源(两引脚)需要配外围电路,有源(VCC(电源)、GND(地)、OUT(时钟信号输出)、NC(空脚))
参考链接:https://zhuanlan.zhihu.com/p/36553072
一键下载:SPI 或者 串口
串口下载引脚:PA9 PA10(RX TX)
UART -> TTL -> 232 -> 485 ->232 -> TTL -> UART
常见的转换芯片:
1、CH340/PL2303
2、实现USB信号和串口信号转换
还需要配 STM32 的复位电路模式选择电路进行串口下载
STM32的ISP下载只能用串口1下载(原子)

ISP普通步骤:

  1. 电脑通过 USB 转串口线连接 STM32 的 USART1,并打开电脑端的上位机;
  2. 设置跳线保持 BOOT0 为高电平,BOOT1 为低电平;
  3. 复位单片机使其进入 bootloader 模式,通过上位机下载程序;
  4. 下载完毕,设置跳线保持 BOOT0 为低电平,BOOT1 为低电平;
  5. 复位单片机即可启动用户代码,正常运行。
    ISP下载一般步骤:
    1)Boot0 接3.3,Boot1 接GND
    2)按复位按键,实现下载
    一键下载原理:
    利用串口的DTR和RTS信号,分别控制STM32的复位和B0,配合上位机软件(mcuisp)
    设置:DTR的低电平复位,RTS高电平进 Bootloader
    B0 和 STM32的复位,完全可以由下载软件自动控制,从而实现一键下载

STM32启动模式:

|BOOT1 | BOOT0 |启动模式|说明|

X                    0                   主闪存存储器          主闪存存储器被选为启动区域(默认)
0                   1                   系统存储器               ISP
1                   1                   内置SRAM

ISP简介:

系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下
器件,已经编程的器件也可以用 ISP 方式擦除或再编程

需要用到(bootloader)自举程序,自举程序存储在 STM32 器件的内部自举ROM 存储器(系统存储器)中。其主要任务是通过一种可用的串行外设( USART、 CAN、USB、 I2C 等)将应用程序下载到内部 Flash 中

小彩蛋:

CAN:控制器局域网,可拓展性好,可承受大量数据的高速通信,高度稳定可靠,
常应用于汽车电子领域、工业自动化、医疗设备等高要求环境
CAN总线有两个ISO国际标准:ISO11519 和ISO11898
ISO11519定义了通信速率为10~125Kbps的低速CAN通信标准,属于开环总线,
传输速率为40Kbps时,总线长度可达1000米;
ISO11898定义了通信速率为125Kbps~1 Mbps的高速CAN通信标准,属于闭环总线,
传输速率可达1Mbps,总线长度≤40米
差分信号,使用 CAN_L 和 CAN_H 的电位差来表示数据电平
低速和高速的 两者物理层电气特性不一样,因此不能将它们连接在一起
参考链接:https://blog.csdn.net/thisway_diy/article/details/117702782

时钟源:

HSI:高速内部时钟
HSE:高速外部时钟
LSI:低速内部时钟
LSE:低速外部时钟
PPL:锁相环

GPIO:

【输入模式】
上拉输入、下拉输入、浮空输入、模拟输入(AD转换)
【输出模式】
开漏输出(低电平)、开漏复用、推挽输出(高低电平)、推挽复用
【3种最大翻转速度】
-2MHZ、-10MHZ、-50MHZ

ODR:输出数据寄存器
IDR:输入数据寄存器
BSR:位设置/清除寄存器

1_STM32之常用知识点相关推荐

  1. javaScript常用知识点有哪些

    javaScript常用知识点有哪些 一.总结 一句话总结:int = ~~myVar, // to integer | 是二进制或, x|0 永远等于x:^为异或,同0异1,所以 x^0 还是永远等 ...

  2. ES6常用知识点概述

    前言 国庆假期已过一半,来篇干货压压惊. ES6,并不是一个新鲜的东西,ES7.ES8已经赶脚了.但是,东西不在于新,而在于总结.每个学前端的人,身边也必定有本阮老师的<ES6标准入门>或 ...

  3. list python 访问 键值对_基础|Python常用知识点汇总(中)

    字符串字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串.1.创建字符串 str1 = 'Hello World!' str2 = "Hello W ...

  4. matplotlib一些常用知识点的整理,

    本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 强烈推荐ipython 无论你工作在什么项目上,IPython都是值得推荐的.利用ipython --pylab,可以进入Py ...

  5. oracle 常用知识点整理

    转 :  oracle 常用知识点 原文链接:http://blog.csdn.net/weijiaxiaobao/article/details/51323573 Oracle 是一个庞大的系统,里 ...

  6. php常用技术与thinkphp5,thinkPHP5框架路由常用知识点汇总

    本文实例讲述了thinkPHP5框架路由常用知识点.分享给大家供大家参考,具体如下: 一.路由的模式 普通模式(默认pathinfo,不解析路由) 'url_route_on' => false ...

  7. 【C++】-- C++11基础常用知识点(下)

    上篇: [C++]-- C++11基础常用知识点(上)_川入的博客-CSDN博客 目录 新的类功能 默认成员函数 可变参数模板 可变参数 可变参数模板 empalce lambda表达式 C++98中 ...

  8. Webpack 常用知识点总结

    Webpack 常用知识点总结 webpack 是一个模块打包器.webpack 的主要目标是将 javaScript 文件打包在一起,打包后的文件用于在浏览器中使用,但它也能够胜任转换(transf ...

  9. 敏捷ACP 常用关键词整理 敏捷ACP 常用知识点整理

    敏捷ACP 常用关键词整理   敏捷ACP 常用知识点整理 一.MoSCoW 1.MoSCoW : 读作"莫斯科",适用于故事优先级的排序,首次出现在 3-13敏捷产品实践:产品待 ...

最新文章

  1. 如何对linux镜像md5,Linux系统如何校验SHA1和MD5
  2. Android开发学习笔记(二)——编译和运行原理(2)
  3. 核心技术靠化缘是要不来的——自己动手写ORM框架
  4. 编程程序的名称要记住吗_学习编程时要记住的5件事
  5. Falsy Bouncer-freecodecamp算法题目
  6. Firewoks——层与蒙版
  7. java基本数据类型以及相关内容总结
  8. Handler机制使用时候一些问题记录
  9. 计算机科学与技术志愿意愿,高考志愿填报如何得高分
  10. 是否可以加唯一约束 有空_一篇文章可以学会保温杯的三维设计吗?真可以
  11. 中兴面试题 01背包问题
  12. 浅谈易用性测试及GUI常见的测试要求
  13. 2022年5月17日 点扩展函数的matlab仿真学习
  14. 文章刚刚开源就被培训机构“BP”了,过于不要脸
  15. 使用u盘如何装linux系统教程视频教程,使用U盘安装Linux系统图解一
  16. SpringBoot2核心技术-笔记
  17. nginx实现ip138查询当前ip功能,配置文件实现接口
  18. MuleSoft知识总结-11.Mule基本组件(Transform Message)
  19. python真有那么厉害?
  20. 普歌-(mac m1亲身教程)iterm配置oh-my-zsh以及iterm配置dracula主题

热门文章

  1. SLAM学习:Gmapping建图下地图变形更新速度慢问题
  2. java跳转QQ支付宝_iApp跳转到QQ转账和微信支付界面,以及跳转个人QQ或者支付宝的AA支付...
  3. Google Earth Engine APP——在线计算Landsat 和 sentinel数据的23类植被指数的应用
  4. 步进电机工作原理与细分原理个人理解
  5. 微分几何与活动标架法
  6. 数控专业要学计算机吗,数控技术专业学什么,有前途吗?
  7. 火盈云库分享创始人陌路老师的采访和软件介绍
  8. linux手机刷机包制作工具_LINUX操作系统手机刷机包SBF文件资料制作修改方法
  9. 应届生拿到offer之后的流程_应届生签offer前需要参考的注意事项
  10. 死亡观察:这13家知名公司何时消失