- 博客(110)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 hex文件格式剖析,以及hex与bin文件互相转换
hex文件和bin文件有什么区别呢,为什么有时用hex格式有时用bin格式?本篇文章就带大家来了解一下。
2022-12-30 16:54:31 14789 1
原创 【STM32+cubemx】0030 HAL库开发:DDS芯片AD9833实现简单的波形发生器
大家好,我是学电子的小白白,今天带大家了解一款波形发生器芯片——AD9833。
2022-12-23 22:35:04 8884 7
原创 分析一种极低成本的220V转5V电路——阻容降压电路
今天我们来分析一个交流220V转直流5V阻容降压电路。阻容降压是一种使用极少的元器件、极低的成本就能实现的交流市电转为直流低压的电路,经常用在体积受限、成本敏感的设备中。
2022-12-08 20:45:27 12288 5
原创 陀螺仪与磁力计的姿态融合——互补滤波(续)
上一篇我们讲了陀螺仪与加速度计的数据融合,本篇文章是互补滤波的续篇,接着讲陀螺仪与磁力计的数据融合。
2022-11-30 23:46:13 3668 7
原创 陀螺仪与加速度计的姿态融合——互补滤波
本篇文章我们来讲讲如何将陀螺仪和加速度计的数据结合起来,获取更准确的姿态数据,使用的是互补滤波的方法。
2022-11-25 23:49:06 13953 13
原创 【STM32+cubemx】0029 HAL库开发:HMC5883L磁力计的应用(电子指南针)
今天我们来学习电子磁力计HMC5883L的使用。先介绍磁力计的基础知识,再给一个获取磁力计数据的例子,最后讲解HMC5883L磁力计的校准,以及一些使用中的经验。
2022-11-16 23:04:54 5508 2
原创 电机位置、速度检测方法大合集
本篇我们学习一些常用的电动机的位置、速度检测方法,有的通过电磁感应效应检测、有的通过光电转换后检测、有的通过霍尔元器件检测,等等。下面我们就一一来讲解。
2022-11-06 23:54:15 2094
原创 无刷电机控制基础(2)——有感和无感驱动、调速
上一篇文章我们讲了一些无刷电机的基础知识,包括无刷电机的内部结构,驱动原理等,我们知道了只需要按照转子的当前位置,来按顺序给定子线圈通电,就能让电机转动起来。但是,上一篇中我们跳过了一个关键步骤,就是如何检测转子的位置。本篇我们就讲讲常用的位置检测方法,以及引出的一些相关问题。我们知道,获取磁铁的位置可以用霍尔传感器,无刷电机的转子就是永磁体,因此只要在合适的位置安装霍尔传感器,就能知道转子的旋转位置。在无刷电机中,一般用3个开关型霍尔器件就能检测转子的位置。
2022-10-16 23:23:40 11422
原创 无刷电机控制基础(1)——结构和驱动电路
无刷电机是指无电刷和机械换向器的电机。我们知道,一般的有刷电机的定子是永磁体,转子是电磁铁。转子转动时,通过电刷来自动切换转子电磁铁的中的电流方向,使得转子始终受到转动力矩的作用,得以旋转起来。而无刷电机,转子是永磁体,定子是电磁铁,使用电子换向器器来切换电磁铁中的电流方法。由于它没有机械式的电刷,所以称为无刷电机。
2022-10-14 01:44:33 5002
原创 多任务环境中如何喂看门狗?
那么在多任务系统中应该如何喂狗呢?我们知道,看门狗的目的是为了监测错误,那么我们只要将所有任务的状态都检查一下,如果都正常才执行喂狗操作。
2022-09-13 22:27:20 2685 4
原创 PCB寄生电容和寄生电感的计算
为了减小寄生电容和电感的影响,我们需要知道它们是怎么产生的,才能对症下药。本节我们先来了解如何计算PCB的寄生电容和寄生电感,然后讨论如何减小它们的影响。
2022-08-29 23:10:18 11081 2
原创 【FreeRTOS】16系统配置和中断配置
很多RTOS之所以可以用于资源很少的单片机,是因为它们可以配置。一般可以使用宏定义来选择需要的功能,而裁剪掉不必要的功能。本节来讲一下FreeRTOS的系统配置,其中的中断配置会详细讲解。..................
2022-08-18 22:46:58 617
原创 【FreeRTOS】15 空闲任务(实例:CPU利用率统计)
本节我们来讲讲FreeRTOS自带的一个特殊的任务——空闲任务。先讲空闲任务的作用,然后结合空闲任务的特性,实现一个CPU利用率统计的例程。
2022-08-13 00:07:36 4260 1
原创 【FreeRTOS】13 动态内存管理
在FreeRTOS中,动态内存管理是非常重要的功能,之前讲过的任务创建、信号量创建、消息队列的创建等等,都有动态创建和静态创建两种方式。静态创建时,需要用户先定义一块内存区;而动态创建时,不需要指定内存区,系统会自动在堆(heap)中申请一块内存区;这里动态创建时,就用到了动态内存管理的功能;此外,用户的应用程序也可以动态申请内存区使用。...............
2022-08-05 00:08:03 2602
原创 【FreeRTOS】12 任务通知——更省资源的同步方式
我们之前讲过信号量、消息队列、事件标志组,它们都可以实现任务间的通信和同步。本节我们讲解任务通知(Task Notifications),它是freeRTOS中实现的另一种通信和同步的方法,在一定程度上可以代替信号量、消息队列、事件标志组的功能;而且任务通知所需要的资源更少、执行速度更快。...
2022-08-02 00:51:07 2906 1
原创 【FreeRTOS】11 软件定时器
定时器是MCU常用的外设,我们在学习各种单片机时必然会学习它的硬件定时器。但是,MCU自带的硬件定时器资源是有限的,而且一般会用在实时性要求很强的地方。在freeRTOS中提供了软件定时器的功能,来实现更多的定时器资源。本节我们就来学习软件定时器。...
2022-07-22 01:02:48 2222
原创 【FreeRTOS】10 事件标志组
本节我们来讲讲freeRTOS的事件标志组。它也是一种用于任务间通信和同步的机制,和信号量有一些相似的功能,但也有自己的特点。
2022-07-19 22:28:00 1196
原创 【FreeRTOS】09 消息队列
本节来讲讲freeRTOS的消息队列。操作系统里常说的“消息队列”,和数据结构课程里常说的“队列”是同一个概念,都是一个线性的存储表。只不过数据结构里的“队列”通常指的是先进先出队列(也就是FIFO),有一个写入口和一个读出口,从一端写入数据,另一端读出数据,先写入队列的先被读出;而操作系统里实现的消息队列功能会更丰富一些,比如FreeRTOS的消息队列支持FIFO(先进先出)和LIFO(后进先出)两种存取方式,并且它还解决了多任务访问冲突、实现了任务等待队列时的阻塞功能。......
2022-07-13 00:25:30 1265 2
原创 【FreeRTOS】08 互斥信号量、优先级反转问题
本节继续讲freeRTOS的信号量,先讲一个与抢占式调度和信号量有关的经典问题——优先级反转,再讲互斥信号量。
2022-06-26 17:18:01 4557
原创 【FreeRTOS】07 二值信号量、计数信号量
本节开始讲freeRTOS的信号量,先从最基本的二值信号量讲起,后面会讲解计数信号量,最后是信号量与临界段保护的区别。
2022-06-22 01:01:26 1765 2
原创 【FreeRTOS】06 临界段的保护——关中断和关调度
本节来讲一讲FreeRTOS如何保护临界段,先讲临界段的概念,再讲保护临界段的方法。
2022-06-15 00:06:06 8578 6
原创 手把手教你使用si9000计算高速差分线的阻抗
控制差分信号线的阻抗,对高速数字信号的完整性是非常重要的,因为差分阻抗影响差分信号的眼图、信号带宽、信号抖动和信号线上的干扰电压,如果不进行控制,信号质量会严重下降。本节内容就来教大家学习使用si9000软件,以高速USB(480Mbits/s)为例,计算高速差分线布线时的参数。
2022-05-18 00:45:38 15282
原创 【FreeRTOS】03 任务的运行、就绪、阻塞、挂起
讲到操作系统的任务,就不得不提任务的状态和切换,这是操作系统的最核心功能。本节将会重点讲解freeRTOS任务的几种状态——运行、就绪、阻塞、挂起。
2022-05-08 23:52:47 11388 4
原创 【FreeRTOS】02 任务的创建
本节我们将分析一下FreeRTOS任务创建的过程,并结合创建时需要的参数讲解一下FreeRTOS任务的一些特性。
2022-05-07 00:53:43 5433 1
原创 【FreeRTOS】01 初识freertos操作系统,第一个任务
这一节我们开始写第一个程序,建立两个任务,每个任务控制一个LED灯闪烁。
2022-05-04 21:36:56 2904 4
原创 分析一种简单的提高功率因数的电路——填谷电路
今天我们来分析在电源电路中比较常见的,一种提高功率因数的电路——填谷电路(Valley Fill Circuit)。
2022-04-19 22:53:50 4697
原创 小知识:C语言宏定义中 # 和 ## 符号的用法
在某些C语言代码中,有时我们可能会看到宏定义中带有#、##,这些符号有特殊的作用,下面我们用几个简单的例子来说明。1)一个#的作用一个#的作用就是把后面的参数当做一个字符串,也就是说等同于把后面的宏变量加上双引号:运行上述代码,可以得到输出:Hello world 1Hello world 2说明 #define PRINT(NAME) printf(#NAME)这个宏,等同于把NAME加上了双引号“”,即替换成了“NAME”,所以,第一个PRINT可以直接把括号内的内容..
2022-03-29 22:43:10 21309 3
Jlink-v8固件烧写AT91-ISP v1.13 & V8.bin.zip
2021-11-17
为啥现在不能直接贴图了?前几天还可以
2021-10-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人