摘要: 程序内存组成:运行的程序分为代码区,数据区,BBS区,栈区,堆区 代码区:存放代码的内存区域,在程序运行前就已经确定 数据区:存放被赋予初始值的全局变量、静态变量和字符串常量 BBS区:存放初始化的全局变量和静态变量,内核将此段初始化为0 栈区:增长方向,自上而下增长,存放临时创建的局部变量,存储函 阅读全文
posted @ 2022-08-10 16:01 伯宁君 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 任务切换 #任务调度 #任务间通信 阅读全文
posted @ 2022-08-10 15:21 伯宁君 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 0. 前言 通讯速率较高,适用于ADC、LCD等设备与MCU间通信 1. SPI基础知识 物理层 SCL:时钟信号线 CS:片选信号线/从设备选择信号线,低电平有效 MOSI:主设备输出/从设备输入引脚 MISO:主设备输入/从设备输出引脚 通信过程 MOSI和MISO数据线在SCK的每个时钟周期传 阅读全文
posted @ 2022-08-09 19:14 伯宁君 阅读(475) 评论(1) 推荐(1) 编辑
摘要: 定时器简介 定时器可以分为硬件定时器和软件定时器,软件定时器是基于系统时钟节拍实现的,可以创建很多个 阅读全文
posted @ 2022-08-09 18:58 伯宁君 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 0. 前言 队列是一种数据结构,可以保存固定大小的数据没在创建队列时,队列长度和大小就确定下来了 1. 队列 意义 原理 新数据被发送到队列尾部,从头部取出数据 新数据被发送到队列头部,从头部取出数据 xQueueSendToBack() 发送数据 xQueueReceive() 读取数据 运行过程 阅读全文
posted @ 2022-08-09 18:53 伯宁君 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 0. task 意义 1. task 基础知识 任务状态 FreeRTOS 中的任务状态有:运行态、就绪态、阻塞态、挂起态,但是一个任务只能处于一种状态 任务切换 //任务挂起函数 vTaskSuspend(); //将所有的任务都挂起 vTaskSuspendAll(); //任务恢复函数 vTa 阅读全文
posted @ 2022-08-09 18:46 伯宁君 阅读(270) 评论(0) 推荐(0) 编辑
摘要: FreeRTOS介绍 特性 FreeRTOS 的内核支持抢占式、合作式和时间片调度 由用户给每个任务分配一个任务优先级,任务调度器就可以根据此优先级来决定下一刻应该运行哪个任务 提供了一个用于低功耗的 Tickless 模式 系统的组件在创建时可以选择动态或静态的RAM,比如任务、消息队列、信号量、 阅读全文
posted @ 2022-08-09 18:33 伯宁君 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 0. 前言 1. 基础知识 物理层 SCL 时钟线 SDA 数据线 通信方式 IIC是串行、同步、半双工工的通信方式 通讯速率 IIC有不同的模式 标准模式,时钟频率为100KHz,即数据传输速率为100Kbit/s 快速模式,时钟频率为400KHz,数据传输速率为400Kbit/s 高速模式,时钟 阅读全文
posted @ 2022-08-09 17:20 伯宁君 阅读(1197) 评论(1) 推荐(1) 编辑
摘要: 大学的生活真的是美好而短暂,回想起来,记忆中留下的也都是满满的快乐和感动,还有一些遗憾,非常感谢大学时期遇到的朋友,谢谢你们。 在大学的时候因为课设或者比赛等,遇到过很多的问题,因为对原理的不明白,知识的不扎实,面对这些问题往往不知道怎么解决,就会逛论坛或者看别人的文章,果然在China onlin 阅读全文
posted @ 2022-08-09 14:42 伯宁君 阅读(71) 评论(0) 推荐(0) 编辑