自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 UCOS-III移植到M3系列

开发板:STM32F103C8T6开发环境:MDK5.14 、 串口小助手源码/库:STM32标准固件库V3.5、UCOSIII 3.03前言在移植UCOSIII实时操作系统前必须对该操作系统有了一定的了解。1.移植准备:首先准备移植所需的基础工程,我们可以拿一些基础的工程 LED 灯实验或者自己新建一个新的项目工程。2.UCOSIII 源码:我们移植 UCOSIII 肯定需要 UCOSIII 源码了。UCOSIII 3.04 和 UCOSIII 3.03 源码的文件都是一样的,不同的是各个

2020-09-17 15:13:12 567 1

原创 小型嵌入式实时操作系统核心之--“调度器”

1.调度器介绍简单的说,调度器就是使用相关的调度算法来决定当前需要实行的任务。所有的调度器又一个共同的特性:调度器可以区分就绪态任务和挂起任务(由于延迟,信号量等待,邮箱等待,时间组等待等原因使得任务被挂起)。调度器可以选择就绪态中的一个任务,然后激活它(通过执行这个任务)。当前正在执行的任务是运行态的任务。不同调度器之间最大的区别就是如何分配就绪态任务间的完成时间。嵌入式实时操作系统的核心就是调度器和任务切换,调度器的核心就是调度算法。任务切换的实现在各个RTOS中区别不大,基本相同的架构,任务切换也

2020-09-15 15:37:00 712

原创 C++引用的详解

引用的详解引用的应用:1、引用作为参数  引用的一个重要作用就是作为函数的参数。以前的C语言中函数参数传递是值传递,如果有大块数据作为参数传递的时候,采用的方案往往是指针,因为这样可以避免将整块数据全部压栈,可以提高程序的效率。但是现在(C++中)又增加了一种同样有效率的选择(在某些特殊情况下又是必须的选择),就是引用。  (1)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;

2020-08-12 16:09:32 444

原创 RT-Thread学习笔记(二)--配置RTC时间日期更新事件实验

开发板:STM32F407VET6开发环境:MDK5、CubeMx、Env、串口助手RT-Thread源码:rt-thread-v3.1.2

2020-07-29 10:52:09 1895

原创 RT-Thread学习笔记(一)--配置PWM输出LED

**开发板:STM32f407VET6开发环境:MDK5,CubeMx,Env,串口助手源码:rt-thread-v3.1.2一、搭建开发环境 RT-Thread团队为了减少开发者在开发过程的一些琐事引入了一些额外的辅助工具来减少开发者的工作量。 本文章是采用MDK5的开发环境,使用RT-Thread Studio的同学可以忽略此步骤。安装STM32 CubeMx可以参考这里CubeMx安装教程然后安装辅助工具到RT-Thread的官网下载env工具下载二、移植BSP到自己的开发板去

2020-07-28 15:42:47 2918 3

转载 浅析C程序编译过程(转)

#include <stdio.h>int main(){printf(“Hello,world.\n”);return 0;}通常我们使用gcc来生成可执行程序,命令为:gcc hello.c,默认生成可执行文件a.out其实编译(包括链接)的命令:gcc hello.c 可分解为如下4个大的步骤:预处理(Preprocessing)编译(Compilation)...

2020-03-20 09:58:02 100

原创 最常用的Linux基础命令大全!

以下是操作Linux系统最常用的基础命令,转载请注明出处,谢谢合作!ctrl+alt+t —>打开终端Stefen@ubuntu:~$ —》shell命令行Stefen -->主机用户名 --》不能修改,只能在安装的时候去设置(自主定义主机用户名)@ -->作为分隔符ubuntu -->主机名 --》在安装的时候设置的: --&gt...

2020-03-07 09:42:33 310

原创 Keil4添加STC系列单片机

俗话说:工欲善其事,必先利其器。在学习一门编程语言之前,我们必须先安装好它的开发环境,由于工作需求不得不去研究C51单片机的知识。下面就开始安装我们的开发环境keil4。1,、打开keil的官网http://www.keil.com/c512、鼠标移到C51V960A.EXE,右键鼠标点击在新标签页打开链接,点击后浏览器就开始下载了(如果你的电脑下载了下载软件,那么就在你的下载软件中下载...

2020-03-06 17:50:05 6792 1

原创 ucos-iii和FreeRTOS的优先级问题总结

写这篇文章只要是为了方便自己日后回来复习,如果有不对的地方欢迎指出,大家一起来交流学习!

2020-03-05 16:02:52 2165

原创 基于STM32F10x系列的SPI笔记

SPI定义:SPI是串行外设接口(Serial peripheral interface)的缩写,SPI是一种高速的,同步的,全双工通信协议。它只占用四个引脚,分别是MISO、MOSI、NSS、SCLK。1、SPI的单机通信连接方式:这个官方数据手册上的图可能看的比较晦涩不太容易懂,于是我自己总结如下:2.SPI的多机通信方式:SPI的四种模式:CPOL:时钟极性当CPO...

2020-03-02 11:48:53 666

原创 基于STM32F10x系列的外部中断EXTI笔记

外部中断EXTISTM32F10x支持多达20个外部中断/请求事件线除了GPIO连接到16个外部中断/请求事件线外,另外四个EXTI连接线方式如下图所示:配置GPIOEXTI中断控制线如下图所示:EXTI中断配置:EXTI配置步骤:1、选择硬件中断选择(配置EXTI_IMR),若选择事件中断选择(配置EXTI_EMR)2、配置上升沿触发(EXTI_RTSR)还是下降沿触发...

2020-03-02 10:23:46 555

原创 基于STM32F103系列的Systick系统定时器笔记

Systick系统定时器Systick是一个24位的递减定时器,当计数到0时,RELOAD寄存器将自动重新装载定时初始值。只要systick控制及状态寄存器不清除其使能位,它将永不停歇。一般而言,我们使用Systick系统定时器作精准的延时配置,或配置作为时基来执行相关的任务。配置SysTick系统定时器中断配置systick系统定时器中断我们一般只配置其三个寄存器即可,CTRL(控...

2020-02-29 14:23:40 653

原创 基于STM32F103系列的TIM_PWM定时器笔记

TIM定时器TIM定时器是一个16位的计数器,它主要用到4个寄存器:计数器寄存器(TIMx_CNT)、自动重装载寄存器(TIMx_ARR)、预分频寄存器(TIMx_PSC)、重复计数寄存器(TIMx_RCR)一般很少用这个寄存器。TIMx_PSC寄存器和TIMx_CRx控制寄存器都带有缓冲器,因此可以在任意时刻通过修改它的值改变从而当前定时器的频率或占空比。定时器的中断时间计算:(1+...

2020-02-29 10:38:07 976

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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