嵌入式学习-FreeRTOS-Day1

一、重点

1、VCC和GND

VCC:

复制代码
1、电路中为电源,供应电压
2、3.3v-5v
3、数字信号中用1表示

GND:

复制代码
1、表示地线
2、一般为0v
3、数字信号中用0表示

2、电容和电阻

电容

复制代码
存储电荷
存储能量:	电容器可以在其两个导体板(极板)之间储存静电能量。
          当电容器连接到电源时,它会充电,储存能量;断开电源后,它可以释放这些能量。
滤波:在电源电路中,电容器常用于滤波,即减少电源中的噪声和波动,提供更稳定的直流电压

电阻

复制代码
限流
分压
保护电路

3、二极管和三极管

二极管的导通和截止

导通 截止
正向偏置状态下,导通,允许电流通过 反向偏置状态下,截止,阻止电流通过。

二极管的导通电压:

普通二极管的导通电压为0.6-0.7

普通二极管,击穿电压约为-50v到-100v。

三级管的导通

NPN (基极-发射极) PNP(发射极-基极)
基极的电压-发射极的电压 = 0.6v ~ 0.7v 发射极的电压- 基极的电压 = 0.6v ~ 0.7v

4、STM32原理图的解释

PA表示端口,A、B、C表示组,0、1、2、3表示位数(第几个)

VDD:电源正极

VSS:电源负极

5、Keil代码

编写:使用C语言

编译:在编译前,要先点击魔法棒按钮,在Debug中选择setting,把Flash项中的Reset and Run勾选,并在pack项中取消Enable

6、STM32Cubemx的使用

下载STM32F0的最新版本

添加MCU,选择 STM32F051K8 选择第二项开始工程

配置SYS,设置Debug

设置时钟

管理工程

导入到Keil

7、GPIO

GPIO为通用输入输出设备,他允许微控制器与外部设备进行数据交换。

点亮LED灯的函数

c 复制代码
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
c 复制代码
void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

8、定时器

重要因素:时间、中断回调函数

中断回调函数可以处理多个定时器的消息

c 复制代码
__weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
  /* Prevent unused argument(s) compilation warning */
  UNUSED(htim);

  /* NOTE : This function should not be modified, when the callback is needed,
            the HAL_TIM_PeriodElapsedCallback could be implemented in the user file
   */
}

注意:在定时器中断中不能加入延时函数。

中断函数里面不能使用延时函数。

中断要求快进快出,假设加入了延时函数就会导致系统卡死。

9、串口通信

主要用于单片机和电脑或者是单片机之间的通信。

并行通信和串行通信的区别:

复制代码
1、并行通信的速率比串行通信的速率快
2.并行通信的成本比串行通信高
3.并行通信受到干扰的时候影响比较大,传输的比较短

串口工作方式:全双工

复制代码
单工:只能发送数据或者接收数据
半双工:在同一时刻只能发送数据或者是接收数据
全双工:在同一时刻既能发送数据也能接收数据

波特率

每秒可以传输的数据位数(bit/s)

波特率越大串口传输的速率越快

串口的数据帧格式:

1.起始位:代表开始发送一帧数据(1bit)

2.数据位:代表有效的数据(8bit == 1字节)

3.校验位:要来检测数据的正确性(1bit)(可有可无)

4.停止位:表现已经发送完成一次数据可以进行下一次数据的发送(1bit)

有效数据保存在数据位当中

当把波特率设置为115200,每秒可以发送115200/10个字节的数据

作业

1.总结keil5下载代码和编译代码需要注意的事项

点击魔法棒,在Debug项中,点击setting,检查sw device有无设备连接,把Flash项中的Reset and Run勾选,并在pack项中取消Enable

2.总结STM32Cubemx的使用方法和需要注意的事项

1、创建新项目

2、配置外设

3、配置时钟

4、配置代码到Keil

注意事项:

选择 STM32F051K8 的第二个版本

SYS设置Debug

工程名字和保存路径都不能有中文

编译器选择MDK-ARM

3.总结STM32Cubemx配置GPIO的方法

将引脚设置为输出模式

将默认的低电平更改为高电平,这样连接的LED初始化的是不亮的

使用HAL库函数,去操作LED灯等设备。

相关推荐
comyccccc33 分钟前
STM32F407VET6核心板的部分电路绘制学习笔记
笔记·stm32·学习
OIDCAT35 分钟前
CH9433技术解析:一颗芯片搞定CAN总线和9线串口
单片机·嵌入式硬件·工控·调试工具·国产芯片
叼烟扛炮38 分钟前
Linux 学习笔记(三十六):并发进阶——读写锁 vs 自旋锁,到底怎么选?
linux·运维·服务器·笔记·学习
简单电磁炮38 分钟前
关于can的调试
c语言·stm32·单片机
2501_9226395839 分钟前
率能半导体 SS6812T双通道H桥驱动芯片:32V/1.0A,覆盖POS打印机、安防相机、办公自动化、游戏机、机器人五大应用场景
单片机·嵌入式硬件·硬件工程
是隼人1 小时前
buuctf-pwn [极客大挑战 2019]Not Bad(orw+jmp)题解(学习过程持续更新)
学习·安全·pwn入门·ctf入门
女神下凡1 小时前
芯参谋(77):裸机(无 OS)存储驱动开发指南
arm开发·单片机·嵌入式硬件·设计规范·1024程序员节
weixin_464078071 小时前
反激原副边之间的Y电容
单片机·嵌入式硬件
花月mmc1 小时前
FPGA数字信号处理与深度学习
嵌入式硬件·深度学习·fpga开发·信号处理
lazy H2 小时前
【计算机网络】第 12 篇:IPv6 详解——地址格式、地址类型与双栈网络
网络·经验分享·后端·学习·计算机网络·408