自定义博客皮肤

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FreeRTOS调度器挂起与解除

通过分析任务切换,我们知道任务切换的两种方法:系统节拍器中断、调用portYIELD产生PendSV中断。 在系统节拍器中断中,如果调度器被挂起,仅仅将调度器挂起时间加一(在解除挂起后需要补偿这些节拍),并不会检查是否有任务需要切换。 /* 系统节拍加一 */ BaseType_t xTas...

2019-02-28 19:56:27

阅读数 233

评论数 0

FreeRTOS任务切换

任务切换一共两种方式:系统节拍器中断、调用portYIELD。但是,最终都是产生PendSV中断。 /* SysTick异常处理入口 */ void xPortSysTickHandler(void) { /* 禁止不高于系统调用优先级的中断 */ vPortRaiseBASEPRI();...

2019-02-28 18:00:47

阅读数 96

评论数 0

FreeRTOS调度器启动

 在真正启动调度器之前,先创建空闲任务,初始化一些变量。真正启动调度器的函数是xPortStartScheduler /* 启动调度器 */ void vTaskStartScheduler( void ) { BaseType_t xReturn; #if (configSUPPORT...

2019-02-27 17:26:11

阅读数 106

评论数 0

FreeRTOS任务创建

 任务创建函数 BaseType_t xTaskCreate(TaskFunction_t pxTaskCode, const char *const pcName, const configSTACK_DEPTH_TYPE usStackDep...

2019-02-27 15:47:47

阅读数 84

评论数 0

FreeRTOS列表

内核中有很多双向列表,这些列表可以挂接很多列表项,每条列表都有一个确定的尾节点、列表当前指针、列表项个数 /* 列表结构体 */ typedef struct xLIST { listFIRST_LIST_INTEGRITY_CHECK_VALUE configLIST_VOLATILE...

2019-02-26 14:18:09

阅读数 60

评论数 0

FreeRTOS内存管理

堆空间是一个数组,configTOTAL_HEAP_SIZE表示堆空间大小,在FreeRTOSConfig.h中宏定义 /* 由应用程序创建堆区,大小为configTOTAL_HEAP_SIZE */ #if (configAPPLICATION_ALLOCATED_HEAP == 1) e...

2019-02-26 10:36:30

阅读数 66

评论数 0

FreeRTOS移植到STM32F103

1.创建工程   2.将FreeRTOS源码,拷贝到工程目录   3.删除其它架构和编译器的代码 查看portable文件夹发现 MemMang为内存管理相关文件需要保留 Commom里面有个mpu相关代码,我们不使用mpu,可以删除 我们的开发环境是kei...

2019-02-25 15:20:32

阅读数 125

评论数 0

FreeRTOS源码获取

1.进入官网:https://www.freertos.org 2.进入下载页面 3.下载源码 4.提取源码 5.查看FreeRTOS源码

2019-02-25 10:10:41

阅读数 61

评论数 0

STM32之SDIO例程

移植ST官方demo,做了部分修改 #include "stm32f10x.h" #include "sdio_sd.h" /* RCC时钟配置 */ void RCC_config(void) { ErrorSta...

2019-02-21 14:12:21

阅读数 481

评论数 0

STM32之SDIO原理

1 SD的协议   1.1  SD卡协议目前已经发展到了V4.1,可以去SD协会官网下载.官网的文件N多个,此刻最需要的是 Part1 Physical Layer...这个.其他的文档作用不妨参考下图了解一下吧.不过下载的是精简版,每年交N多美金成为SD协会的会员才能搞到完整版.    ...

2019-02-21 13:55:06

阅读数 349

评论数 0

STM32之内部FLASH例程

#include "stm32f10x.h" #include <string.h> /* STM32 内部 FLASH 配置 */ #define STM32_FLASH_SIZE 512 /* 所...

2019-02-19 13:33:37

阅读数 412

评论数 0

STM32之内部FLASH原理

不同型号的 STM32,其 FLASH 容量也有所不同,最小的只有 16K 字节,最大的则达到了 1024K 字节。市面上 STM32F1 开发板使用的芯片是 STM32F103系列,其 FLASH 容量一般为 512K 字节,属于大容量芯片。大容量产品的 Flash 模块组织结构如图 40.1....

2019-02-19 11:02:52

阅读数 428

评论数 0

STM32之FSMC-SRAM例程

SRAM使用的是55ns的IS62WV51216,需要先分析IS62WV51216对读写的时序要求。 读时序  分析时序图,可以提取如下信息(不分析高低字节位和使能位,因为FSMC访问模式是一直保持的):整个读周期大于55ns、地址建立时间55ns且读使能25ns才能确保输出数据   ...

2019-02-17 23:11:47

阅读数 242

评论数 0

STM32之FSMC-SRAM/NOR原理

FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和 16 位 PC 存储器卡连接,STM32F4 的 FSMC 接口支持包括 SRAM、 NAND FLASH、 NOR FLASH 和 PSRAM 等存储器。 所有的外部存储器共享地址、数据和控制信号,但有各自的片选信号。FSMC一次只能...

2019-02-17 22:59:49

阅读数 162

评论数 0

STM32之SysTick例程

#include "stm32f10x.h" /* RCC时钟配置 */ void RCC_config() { ErrorStatus HSEStartUpStatus; /* RCC寄存器设置为默认配置 */ RCC_DeInit(); /*...

2019-02-15 17:56:34

阅读数 121

评论数 0

STM32之SysTick原理

一、STM32的SysTick简介     SysTick是一个24位的系统节拍定时器system tick timer,SysTick,具有自动重载和溢出中断功能,所有基于Cortex_M3处理器的微控制器都可以由这个定时器获得一定的时间间隔。 systick的作用:   在单任务引用程序中...

2019-02-15 17:17:06

阅读数 88

评论数 0

STM32之DAC例程

#include "stm32f10x.h" /* RCC时钟配置 */ void RCC_config() { ErrorStatus HSEStartUpStatus; /* RCC寄存器设置为默认配置 */ RCC_DeInit(); /*...

2019-02-15 16:37:44

阅读数 505

评论数 0

STM32之DAC原理

1.DAC模块 1.数模转换功能 2.可以配置为8位和12位模式(8位右对齐,12位左对齐,12位右对齐) 3.DAC模块有两个单独的控制器,每个通道有着单独的转换器,可以独立转换,也可以同时转换 4.可以实现噪声波形和三角波形的生成 5.每个通道有着DMA功能 6.图示: PS...

2019-02-15 16:29:10

阅读数 357

评论数 0

STM32之通用定时器编码器模式

1、编码器原理 如果两个信号相位差为90度,则这两个信号称为正交。由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向、根据每个信号脉冲数量的多少及整个编码轮的周长就可以算出当前行走的距离、如果再加上定时器的话还可以计算出速度。   2、为什么要用编码器 从上图可以看出,...

2019-02-15 16:16:48

阅读数 1793

评论数 2

提示
确定要删除当前文章?
取消 删除