RT-Thread线程管理

RT-Thread的线程调度为优先级抢占式调度。当调度器进行线程切换时,会切换至就绪任务中优先级最高的那个任务,如果中断服务函数(ISR)让一个更高优先级的任务满足运行条件,中断完成时,被中断的线程挂起,优先级高的线程开始运行。对于同优先级的任务,RT-Thread采用时间片轮转调度。

STM32中Flash的读写(HAL库)

在以前的电路中,常常会用到EEPROM (Electrically Erasable Programmable read only memory, 带电可擦可编程只读存储器),EEPROM在掉电后储存的信息不会丢失,一般用于存储设备的设置。

但现在更常用的是Flash(闪存),Flash的特点是结构简单,同样工艺和同样晶元面积下可以得到更高容量且大数据量下的操作速度更快,但Flash每次擦除只能以扇区(Page)为单位操作,而EEPROM可以以字节(Byte)为单位操作。相比EEPROM,FLASH操作过程麻烦,特别是在小数据量反复重写时,所以在MCU中Flash结构适于不需频繁改写的程序存储器

电赛测控题知识点缺漏分析

今年的电赛已经开始报名了,作为一个大一🐶,是第一次参加电赛,虽然在大一上学期学了51和STM32,但要在电赛中拿奖,还远远不够,这里总结一下对于测控题,我还缺少哪些必备知识,明确今后学习的一个方向。

如何在Linux下开发STM32

前言

目前,用于开发STM32的主流IDE以及他们的缺点如下:

  1. MDK(界面太丑,代码补全功能较弱,缺少如大纲、小地图等功能,对于被VSCode惯坏的人简直是折磨😂
  2. IAR(没深度使用过,不好评价)
  3. STM32CubeIDE(基于Eclipse,使用时卡顿明显,代码补全需手动触发)
  4. VisualGDB(功能强大没得说,但有过于专业,有太多我用不上的功能)

于是我决定自己从编译器到调试器,搭建一套适合自己的STM32开发环境。

如何在Windows下愉快地用VS Code写C/C++

Visual Studio Code(下面简称VS Code)是由Microsoft开发的一款开源代码编辑器,凭借其出色的性能、高度的可定制性和简洁的UI获得了大量程序员的喜爱,在安装对应的插件后,即可成为多种语言的IDE。但VS Code本身只是一个编辑器,并不包含编译器,所以这篇文章,我就来介绍一下如何配置VS Code,让你在Windows下愉快地写C/C++程序。