自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FreeRTOS的中断管理

FreeRTOS的任务有优先级,MCU的硬件中断有中断优先级,这是两个不同的概念,FreeRTOS的任务管理要用到硬件中断,使用FreeRTOS时候也可以使用硬件中断,但是硬件中断ISR的设计要注意一些设计原则,在本节中我将详细介绍FreeRTOS与硬件中断的关系,以及如何正确使用硬件中断。

2024-09-29 18:53:46 888

原创 【香橙派】Orange pi AIpro开发板评测,与树莓派的横向对比以及实机性能测试

在人工智能领域飞速发展的时代,国产厂商们也是紧随时代的步伐,迅龙公司联合华为推出了一款全新的开发板作为一款建设人工智能新生态的开发板,它可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。二、开发板的配置与介绍下图是开箱到手的东西,可以看见配件很齐全,的用料很用心。

2024-07-16 16:48:15 2870

原创 FreeRTOS消息队列

通过消息队列服务,任务或中断服务可以将一条或多条数据放入消息队列中,同样一个或多个任务可以从消息队列中获得消息,当有多个消息发送到消息队列时,通常是先进入消息队列的消息先传给任务,也就是说,任务先得到的是最先进入消息队列的消息,既先进先出原则(FIFO),FreeRTOS的队列也支持后进先出原则(LIFO)消息队列可用于发送不定长消息的场合,队列是FreeRTOS主要的任务间通信方式,可以在任务与任务间,中断和任务间传递消息,发送到队列的消息是通过。

2024-07-15 09:01:06 905 1

原创 STM32F1系列硬件I2C移植MPU6050DMP库

配置好硬件I2C拿过来直接用就行,一点也不用改这段时间在移植正点原子的MPU6050的库函数,网络上的教程大部分都是标准库同时也是软件模拟I2C的形式,这里我把正点原子的函数移植成了HAL库的硬件I2C的,下面会附带工程源码。

2024-04-05 13:28:15 1059 4

原创 STM32CubeMX与HAL库开发教程八(串口应用/轮询/中断/DMA/不定长数据收发)

前面我们简单介绍过串口的原理和初步的使用方式,例如怎么配置和简单的收发,同时我们对串口有了一个初步的了解,这里我们来深入的来使用一下串口。

2024-03-16 19:59:50 1208 2

原创 FreeRTOS任务管理(创建、删除、挂起、恢复)

3、在FreeRTOS中,创建任务所需要的内存需要在空闲任务中释放,如果用户在FreeRTOS中调用了这个函数的话,一定要让空闲任务有执行的机会,否则这部分内存无法释放,另外,创建的这个任务在使用中申请了动态内存,这个内存不会因任务被删除而释放,这一点要注意,一定要在删除任务前将内存释放。每个任务在自己的环境中运行,在任何时刻,只有一个任务得到运行,FreeRTOS调度器决定运行哪个任务,调度器会不断的启动,停止每个任务,宏观上看每个任务都在同时运行。

2024-03-03 21:30:32 1402 1

原创 FreeRTOS启动流程与调试方法

RTOS主要有两种主流的启动方式,我们这里通过伪代码来介绍这两种方式的区别,然后再看看STM32CubeMX生成的代码是哪种启动模式。

2024-03-02 16:42:38 1605

原创 手动移植FreeRTOS与CubeMX配置

复制好之后我们需要整理一下不用的文件,打开portable,保留我选中的三个文件,如果用IAR就删除keil,MemMang是关于内存的一些文件,RVDS则是关于我们单片机架构的一些文件,我这里用的是STM32F103ZET6,则将RVDS中除了这款单片机的其他架构全部删除,只保留ARM-M3内核,只删文件夹啊,不是文件夹的不要删。新建文件夹,将下载好的源码复制到工程中,同时删除portable与RVDS文件夹中多余的文件,注意好我打开源码的路径,将里面这些东西复制到自己工程中新建的文件夹里。

2024-03-01 10:31:48 1050 2

原创 STM32 HAL库常用函数

2024-01-27 21:44:31 806

原创 STM32CubeMX与HAL库开发教程七(IIC通信)

IIC接口是一种串行数字总线接口,IIC接口只有两根信号线,总线上可以连接多个设备,硬件实现简单,可扩展性强,IIC通信协议可以用普通的GPIO口进行软件模拟,IIC接口主要用于通信速率不强,以及多个器件之间通信的应用场景。

2024-01-24 14:40:38 3344 2

原创 STM32CubeMX与HAL库开发教程六(UART串口通信)

UART就是常说的串口,他是一种简单而常用的通信接口,它使用简单,所以很多仪器设备和电路模块都用作通信接口,所以掌握串口的使用方法异常重要,今天我们学习STM32CubeMX串口的操作,以及HAL库串口的配置UART表示通用同步异步收发器,是一种串行通信接口,UART接口最多有五个 信号,而在这五个信号中TX和RX是必须的,一个为输出信号一个为输入信号,在与其他设备连接时,TX要连接设备的RX,而RX要连接设备的TX,而SCLK是发送器输出的时钟信号,这个时钟线只用于同步模式,异步模式无SCLK信号。

2024-01-23 16:57:04 1504

原创 STM32CubeMX与HAL库开发教程五(PWM输出)

PWM就是脉冲宽度调制,是一种对模拟信号电平进行数字编码的方法,PWM波就是具有一定占空比的方波信号,通过定时器的设置可以控制方波的频率和占空比,从而对模拟电压进行数字编码,理论上,只要带宽足够(PWM波的频率足够高)任何模拟值都可以使用PWM进行编码,使用定时器生成PWM波的工作原理是边缘对齐方式其基本工作原理描述如下1、设置自动重装载寄存器ARR的值,这个值决定了PWM波一个周期的长度,比如PWM一个周期是100ms。

2024-01-23 12:03:37 4745 4

原创 STM32CubeMX与HAL库开发教程四(定时器介绍与记时功能)

定时器作为单片机一个重要的外设,它分为高级控制定时器,通用定时器和基础定时器,基础定时器功能简单,只能用于定时,通用定时器和高级控制定时器还具有输入捕获、输出比较、PWM输出等功能,我们会结合STM32CubeMX与HAL库来使用这些功能定时器资源介绍在本章中只介绍两种最常用芯片的定时器资源 STM32F1系列和F4系列单片机STM32F1系列共有8个定时器:高级定时器(TIM1、TIM8)、通用定时器(TIM2、TIM3、TIM4、TIM5)、基本定时器(TIM6、TIM7)。

2024-01-21 21:13:16 1783 1

原创 STM32CubeMX与HAL库开发教程三(外部中断与中断系统)

中断是MCU一个基础的功能,而什么是中断,我们为什么要使用中断,本节我们来介绍什么中断的相关概念与外部中断如何使用。

2024-01-18 16:08:40 1653 2

原创 STM32CubeMX与HAL库开发教程二(GPIO输入/输出)

上一章节我讲述了如何使用STM32CubeMX来建立工程,这节就在上一章的基础上来继续深入了解STM32CubeMX和HAL库如何使用,我们就默认基础设置已经配置完毕(时钟与工程管理)

2024-01-17 15:30:36 1649

原创 C语言(运算符)

在C语言和单片机开发中,运算符是经常会用到的东西,学会运算符不仅可以让代码的可读性变好,也是成为高手必须要学会的东西,本篇文章我会详细介绍几个常用的运算符的使用方法。

2024-01-16 15:04:09 1075

原创 STM32CubeMX与HAL库开发教程一(CubeMX使用方法)

1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。2、我们为什么使用STM32CubeMX,随着ST停止了标准库的更新,ST官方大力推荐CubeMX与HAL库的使用,虽然现在还是标准库的主场,但是CubeMX的使用率在逐年提高,所以学习下CubeMX的基本使用也是我们需要掌握的技能之一。

2024-01-15 14:34:52 771 1

空空如也

空空如也

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

TA关注的人

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