单片机小知识总结

1.SPI
串行外围接口,全双工同步通信,有四根线
MOSI:主器件数据输出,从器件数据输入
MISO:主器件数据输入,从器件数据输出
SCLK:时钟信号,主器件发出
CS:使能信号,主器件控制
有四种工作模式
CPOL:clock polarity时钟极性
SPI空闲时,SCLK电平(0空闲时低电平,1空闲时高电平)
CPHA:clock phase时钟相位
SPI在第几个边沿采样数据(0第一个边沿,1第二个边沿)
时钟的极性(CPOL)用来决定在总线空闲时,同步时钟(SCK)信号线上的电位是高电平还是低电平。当时钟极性为0时(CPOL=0),SCK信号线在空闲时为低电平;当时钟极性为1时(CPOL=1),SCK信号线在空闲时为高电平;
时钟的相位(CPHA)用来决定何时进行信号采样。
(当相位为0,在奇数边沿采样。相位为1,在偶数边沿采样。)
当时钟相位为1时(CPHA=1),在SCK信号线的第二个跳变沿进行采样;这里的跳变沿究竟是上升沿还是下降沿?取决于时钟的极性。当时钟极性为0时,取下降沿;当时钟极性为1时,取上升沿。
当时钟相位为0时(CPHA=0),在SCK信号线的第一个跳变沿进行采样。跳变沿同样与时钟极性有关:当时钟极性为0时,取上升沿;当时钟极性为1时,取下降沿。

2、STM32F103有5个时钟源
HSI高速内部时钟 8MHZ
HSE高速外部时钟 4-16MHZ
LSI低速内部时钟 40KHZ
LSE低速外部时钟 32.768KHZ
PLL锁相环 最高72MHZ

3.IIC
两根线,一根数据线,一根时钟线。
当时钟线高电平时,数据线由高到低表示起始信号。
时钟线高电平时,数据线由低到高表示停止信号。
时钟线高电平时SDA的数据有效。
时钟线低电平SDA的数据无效,此时SDA数据变换。
当时钟线为高,数据线为低表示应答。
时钟线为高,数据线为高表示非应答。

4.keil代码大小
Code:程序代码,存储在rom中;
RO-data:只读数据,存储在rom中;
RW-data:可读可写数据,既存储在ram中,也存储在rom中(RW-data已初始化的数据会存储在rom中,上电会从rom搬移至ram中);
ZI-data:Zero Initialize,未初始化的数据,上电后在ram中划分一个区域统一存储,MDK会给默认赋值为0。
rom大小=Code+RO-data+RW-data
ram大小=RW-data+ZI-data

5.IO输出
推挽电路是由两个三极管或场效应管,以推挽方式存在于电路中,推挽输出可以输出高电平和低电平,可以直接驱动功耗不大的数字器件。
开漏输出需要借助外部上拉电阻才能输出高电平,可实现线与功能,只要有一个信号为低电平则总线为低电平。

6.串行通信和并行通信
串行 并行
通讯距离: 较远 较近
抗干扰能力: 较强 较弱
传输速率: 较慢 较快
成本: 较低 较高
单工:就是只能A到B,固定一个方向
半双工:A可到B,B可到A,但是是分时进行的
全双工:A和B之间可以同时进行收发数据

同步:两根线 数据线和时钟线
一个时钟 一个数据0或者1 数据帧
速度上会更高,因为同步的基本上是数据。
异步:一根线 只有数据线 设备之间有通信协议
如0 是起始位,然后是数据主体,然后通讯停止位。
速度上会较低,因为异步通信数据位上还有各种标识符号 字符。

7.串口通信协议
1- RS232
主要用于工业上的传输,可以抗干扰,高低电平是 -15 代表1,15代表0 。
TTL 40cm以上出错率就会很大了 ,用RS232传输的话距离可以比较长。
TTL RS232标准电平 TTL
概念图: 设备A --------MAX3232电平转换芯片 ------DB9接口 ======= DB9接口 ----MAX3232电平转换芯片-----设备B
DB9 公头和母头
直通线 RXD-RXD TXD-TXD 常用在设备和电脑的连接
交叉线 RXD-TXD RXD-TXD 一般用于设备和设备的直连
两头母口是交叉,一公一母是直连。

2- USB转串口
TTL USB转串口
设备A -----------CH340串口转换芯片------USB接口=============USB接口---------电脑串口助手

3- 原生的串口转串口
直接TTL链接通信 如蓝牙WIFI GSM等
控制器出来的都是 TTL电平
通过电平转换芯片MAX3232来转换成RS232通讯

TTL 单片机—从芯片出来 0-5V
RS-232 +15—–15V
TTL电平经过电平转换芯片成232电平经过DB9接口即可以通信

8.STM32低功耗模式在这里插入图片描述

1.睡眠模式 直接使用WFI或WFE指令可直接进入睡眠
2.停止模式 唤醒之后默认使用HSI,需要重新配置HSE
3.待机模式 唤醒之后直接复位,相当于直接断电

版权声明:本文为CSDN博主「花火清凉丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47483604/article/details/122655965

1.SPI
串行外围接口,全双工同步通信,有四根线
MOSI:主器件数据输出,从器件数据输入
MISO:主器件数据输入,从器件数据输出
SCLK:时钟信号,主器件发出
CS:使能信号,主器件控制
有四种工作模式
CPOL:clock polarity时钟极性
SPI空闲时,SCLK电平(0空闲时低电平,1空闲时高电平)
CPHA:clock phase时钟相位
SPI在第几个边沿采样数据(0第一个边沿,1第二个边沿)
时钟的极性(CPOL)用来决定在总线空闲时,同步时钟(SCK)信号线上的电位是高电平还是低电平。当时钟极性为0时(CPOL=0),SCK信号线在空闲时为低电平;当时钟极性为1时(CPOL=1),SCK信号线在空闲时为高电平;
时钟的相位(CPHA)用来决定何时进行信号采样。
(当相位为0,在奇数边沿采样。相位为1,在偶数边沿采样。)
当时钟相位为1时(CPHA=1),在SCK信号线的第二个跳变沿进行采样;这里的跳变沿究竟是上升沿还是下降沿?取决于时钟的极性。当时钟极性为0时,取下降沿;当时钟极性为1时,取上升沿。
当时钟相位为0时(CPHA=0),在SCK信号线的第一个跳变沿进行采样。跳变沿同样与时钟极性有关:当时钟极性为0时,取上升沿;当时钟极性为1时,取下降沿。

2、STM32F103有5个时钟源
HSI高速内部时钟 8MHZ
HSE高速外部时钟 4-16MHZ
LSI低速内部时钟 40KHZ
LSE低速外部时钟 32.768KHZ
PLL锁相环 最高72MHZ

3.IIC
两根线,一根数据线,一根时钟线。
当时钟线高电平时,数据线由高到低表示起始信号。
时钟线高电平时,数据线由低到高表示停止信号。
时钟线高电平时SDA的数据有效。
时钟线低电平SDA的数据无效,此时SDA数据变换。
当时钟线为高,数据线为低表示应答。
时钟线为高,数据线为高表示非应答。

4.keil代码大小
Code:程序代码,存储在rom中;
RO-data:只读数据,存储在rom中;
RW-data:可读可写数据,既存储在ram中,也存储在rom中(RW-data已初始化的数据会存储在rom中,上电会从rom搬移至ram中);
ZI-data:Zero Initialize,未初始化的数据,上电后在ram中划分一个区域统一存储,MDK会给默认赋值为0。
rom大小=Code+RO-data+RW-data
ram大小=RW-data+ZI-data

5.IO输出
推挽电路是由两个三极管或场效应管,以推挽方式存在于电路中,推挽输出可以输出高电平和低电平,可以直接驱动功耗不大的数字器件。
开漏输出需要借助外部上拉电阻才能输出高电平,可实现线与功能,只要有一个信号为低电平则总线为低电平。

6.串行通信和并行通信
串行 并行
通讯距离: 较远 较近
抗干扰能力: 较强 较弱
传输速率: 较慢 较快
成本: 较低 较高
单工:就是只能A到B,固定一个方向
半双工:A可到B,B可到A,但是是分时进行的
全双工:A和B之间可以同时进行收发数据

同步:两根线 数据线和时钟线
一个时钟 一个数据0或者1 数据帧
速度上会更高,因为同步的基本上是数据。
异步:一根线 只有数据线 设备之间有通信协议
如0 是起始位,然后是数据主体,然后通讯停止位。
速度上会较低,因为异步通信数据位上还有各种标识符号 字符。

7.串口通信协议
1- RS232
主要用于工业上的传输,可以抗干扰,高低电平是 -15 代表1,15代表0 。
TTL 40cm以上出错率就会很大了 ,用RS232传输的话距离可以比较长。
TTL RS232标准电平 TTL
概念图: 设备A --------MAX3232电平转换芯片 ------DB9接口 ======= DB9接口 ----MAX3232电平转换芯片-----设备B
DB9 公头和母头
直通线 RXD-RXD TXD-TXD 常用在设备和电脑的连接
交叉线 RXD-TXD RXD-TXD 一般用于设备和设备的直连
两头母口是交叉,一公一母是直连。

2- USB转串口
TTL USB转串口
设备A -----------CH340串口转换芯片------USB接口=============USB接口---------电脑串口助手

3- 原生的串口转串口
直接TTL链接通信 如蓝牙WIFI GSM等
控制器出来的都是 TTL电平
通过电平转换芯片MAX3232来转换成RS232通讯

TTL 单片机—从芯片出来 0-5V
RS-232 +15—–15V
TTL电平经过电平转换芯片成232电平经过DB9接口即可以通信

8.STM32低功耗模式在这里插入图片描述

1.睡眠模式 直接使用WFI或WFE指令可直接进入睡眠
2.停止模式 唤醒之后默认使用HSI,需要重新配置HSE
3.待机模式 唤醒之后直接复位,相当于直接断电

版权声明:本文为CSDN博主「花火清凉丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47483604/article/details/122655965

生成海报
点赞 0

花火清凉丶

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

串口不定长接收

一、保留接收区和开启接收的语句    uint8_t buffer[5];HAL_UART_Transmit_IT(&huart1,buffer,3); 二、写入开启空闲中断的语句    __HAL_UART_ENABLE_IT(&huart

基于STM32单片机的电子密码锁设计

一.硬件方案 本设计采用STM32F103C8T6单片机作为主控芯片,结合外围的矩阵按键输入、LCD1602液晶显示、报警、开锁等电路模块实现开锁、上锁、报警、密码更改等功能,设计了一款可以多次修改密码并且具有报警