- 博客(15)
- 收藏
- 关注
原创 FreeRTOS笔记(二)
FreeRTOS笔记(二)—静态任务文章目录FreeRTOS笔记(二)---静态任务一、任务定义二、任务创建2.1 定义任务栈2.2 定义任务函数2.3 定义任务控制块2.4 实现任务创建函数三、实现就绪列表3.1 定义就绪列表3.2 就绪列表初始化3.3 将任务插入到就绪列表四、实现调度器4.1 启动调度器4.2 任务切换五、main函数六、实验现象6.1 软件仿真调试:6.2 过程变量变化:/* 初始化与任务相关的列表,如就绪列表 *//* 创建任务 *//* 将任务添加到就绪列表 *//* 任务切换
2020-07-26 18:17:36 473
原创 FreeRTOS笔记(一)
FreeRTOS笔记(一)文章目录FreeRTOS笔记(一)裸机系统与多任务系统裸机系统轮询系统前后台系统多任务系统列表和列表项(list & list item)单向链表双向链表FreeRTOS中链表的实现一、实现链表节点1 定义链表节点数据结构2 链表节点初始化1 定义链表根节点数据结构2 链表根节点初始化3 将节点插入到链表的尾部4 将节点按照升序排列插入到链表5 将节点从链表删除6 带参宏函数三、链表节点插入实验裸机系统与多任务系统裸机系统裸机系统通常分成轮询系统和前后台系统。轮询
2020-07-25 18:09:36 340
原创 STM32笔记(十三)---ADC
ADC-电压采集文章目录ADC-电压采集一、ADC简介ADC功能框图二、ADC独立模式单通道中断采集实验三、ADC独立模式多通道DMA采集实验多通道与单通道ADC,DMA传输区别四、双重 ADC 同步规则模式采集实验一、ADC简介 以STM32f103 系列为例,3 个 ADC,精度为 12 位,每个 ADC 最多有 16 个外部通道。其中ADC1 和 ADC2 都有 16 个外部通道, ADC3 根据 CPU 引脚的不同通道数也不同,一般都有8 个外部通道。 ADC 的模式非常多,功能非常强大,
2020-07-07 10:54:50 1239
原创 STM32笔记(十二)---SPI读写FLASH
SPI读写FLASH文章目录SPI读写FLASH一、SPI协议简介1.1 SPI 物理层1.2 协议层1.2.1 SPI 基本通讯过程1.2.2 通讯的起始和停止信号1.2.3 数据有效性1.2.4 CPOL/CPHA 及通讯模式二、STM32的SPI特性及架构2.1 通讯引脚2.2 时钟控制逻辑2.3 数据控制逻辑2.4 通讯过程三、FLASH简介四、SPI—读写串行FLASH实验4.1 编程要点4.2 代码分析一、SPI协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peri
2020-07-05 10:37:41 1524
原创 STM32笔记(十一)---I2C读写EEPROM---硬件I2C
I2C协议以及I2C读写EEPROM实验文章目录I2C协议以及I2C读写EEPROM实验I2C 协议简介一、I2C 物理层二、I2C 协议层2-1 I2C 基本读写过程2-2 通讯的起始和停止信号2-3 数据有效性2-4 地址及数据方向2-5 响应三、STM32 的 I2C 架构剖析3-1 通讯引脚3-2 时钟控制逻辑3-3 整体控制逻辑四、通讯过程4-1 主发送器4-2 主接收器4-3 I2C 初始化结构体详解五、I2C—读写 EEPROM 实验5-1 硬件设计5-2 软件设计I2C 协议简介
2020-06-29 19:24:13 893
原创 STM32笔记(十)---DMA(直接存储器访问)
DMA(直接存储器访问)目录文章目录DMA(直接存储器访问)一、 DMA简介二、 DMA功能框图2-1 DMA请求2-2 通道2-3 仲裁器三、 DMA相关库函数3-1 配置思路3-2 DMA 存储器到存储器模式实验编程要点3-3 DMA 存储器到外设模式实验编程要点一、 DMA简介 DMA(Data Memory Access),直接存储器访问。主要功能是可以把数据从一个地方搬到另外一个地方,而且不占用CPU。通常为以下传输方式:M->M,存储器到存储器,一般指内部存储器(Flash
2020-06-27 17:54:23 1553 1
原创 STM32笔记(九)---串口通信
串口通信(USART)文章目录串口通信(USART)一、 串口通信协议简介1-1 概念1-2 常用标准①.RS232标准②.USB转串口(USB2TTL)③.原生的串口到串口 (TTL2TTL)1-3 串口数据包的基本组成二、 STM32串口功能框图讲解2-1 引脚2-2 数据寄存器2-2-1 如何通过串口实现发送接收?2-3 控制器2-4 波特率三、 代码3-1 固件库相关配置结构体3-2 固件库相关配置函数3-3 固件库编程编程要点实验1:中断接收和发送实验2:串口控制RGB灯亮灭一、 串口通信协议
2020-06-26 14:43:02 1012
原创 STM32笔记(八)---通信概念
通信概念文章目录通信概念一、串并行概念1-1 概念1-2 串行与并行通信的特性对比二、 全双工、半双工及单工通讯三、同步与异步3-1 数据同步通讯3-2 数据异步通讯四、通信的速率4-1 Bitrate—比特率4-2 Baudrate—波特率一、串并行概念1-1 概念 按数据传送的方式,通讯可分为串行通讯与并行通讯。 串行通讯是指设备之间通过少量数据信号线(一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。 并行通讯一般是指使用 8、 16、 32 及 6
2020-06-26 10:26:11 410
原创 STM32笔记(七)---Systick系统定时器
SysTick系统定时器文章目录SysTick系统定时器一、 概念1-1 Systick简介1-2 Systick功能框图SysTick定时时间计算二、 Systick定时实验一、 概念1-1 Systick简介 SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一
2020-06-26 10:19:54 458
原创 STM32笔记(六)---GPIO中断EXTI
GPIO中断EXTI文章目录GPIO中断EXTI一、 基础概念二、中断步骤:三、 中断编程:配置流程总结疑问解答疑问解答一、 基础概念EXTI框图 外部中断通用I/O映像 EXTI 中断/事件线∴1.输入线总共有20条,EXTI0~EXTI192.通过配置AFIO_EXTICRx寄存器相应位段进行设置: 以框图为配置步骤参考,上升沿与下降沿触发选择寄存器(EXTI_RTSR 、EXTI_FTSR )配置后GPIO触发则边沿检测电路输出1与软件中断事件寄存器(
2020-06-26 10:15:27 6692
原创 STM32笔记(五)---中断应用
中断应用文章目录中断应用一、异常类型1-1 定义说明二、NVIC简介2-1 定义说明2-2 NVIC配置结构体2-3 NVIC 中断配置固件库三、优先级的定义3-1 定义说明3-2 优先级分组四、中断编程4-1 编程要点4-2 编写中断服务函数一、异常类型1-1 定义说明 F103 在内核水平上搭载了一个异常响应系统, 支持为数众多的系统异常和外部中断。其中系统异常有 8 个(如果把 Reset 和 HardFault 也算上的话就是 10 个) ,外部中断有 60个。除了个别异常的优先级被定死
2020-06-26 10:03:25 608
原创 STM32笔记(四)---配置系统时钟实验
配置系统时钟实验1 使用 HSE一般情况下,我们都是使用 HSE,然后 HSE 经过 PLL 倍频之后作为系统时钟。通常的配置是: HSE=8M, PLL 的倍频因子为: 9,系统时钟就设置成:SYSCLK = 8M * 9 = 72M。使用 HSE,系统时钟 SYSCLK 最高是128M(16倍频)。当程序来到 main 函数之前,启动文件: statup_stm32f10x_hd.s 已经调用 SystemInit()函数把系统时钟初始化成 72MHZ, SystemInit()在库文件
2020-06-23 20:08:34 924
原创 STM32笔记(三)---寄存器映射--BSRR分析
STM32笔记(三)—寄存器映射–BSRR分析GPIO与引脚区别?GPIO包含在引脚内(引脚内还有电源、晶振等特殊功能引脚),除GPIO拓展内容即为单片机最小系统GPIO功能如何检索?通过芯片datasheet中的pin definitions去检索GPIO功能输出控制推挽输出(ODR寄存器输出1时推出3.3V/25mA,输出0时拉入GND)开漏输出(只能输出低电平,开漏时P-MOS不工作,N-MOS工作;开漏输出就是不输出电压,控制输出低电平时引脚接地,控制输出
2020-06-21 00:57:35 1841
原创 STM32笔记(二)—STM32与寄存器概念(附寄存器版简易LED流水灯)
STM32笔记(二)—STM32与寄存器概念(附寄存器版简易LED流水灯)概念内容,截图给自己留个印象(内核+外设)ICode 总线ICode 中的 I 表示 Instruction,即指令。我们写好的程序编译之后都是一条条指令,存放在 FLASH 中,内核要读取这些指令来执行程序就必须通过 ICode 总线,它几乎每时每刻都需要被使用,它是专门用来取指的。驱动单元DCode 总线DCode 中的 D 表示 Data,即数据,那说明这条总线是用来取数的。我们在写
2020-06-21 00:56:17 956
原创 STM32笔记(一)---串口ISP模式下载原理
--------------------------–串口ISP模式下载原理–--------------------------先放几张火哥的教程截图:图1图2图3图4通过图1可以了解到,不同的下载方式中所需要的不同启动模式:内部Flash (Main Flash memory,0x)STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。系统存储器 (System memory,10)从系统
2020-06-21 00:55:41 4915
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人