自定义博客皮肤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)
  • 收藏
  • 关注

原创 STM32——问题解决:使用CubeMX但未配置烧录方法导致的开发板无法多次烧录程序

使用软件:STM32 ST-LINK Utility v4.6.0。将STM32开发板和ST-LINK连接到电脑上,然后就可以正常去下载程序了。按照图中方法进行操作,下载安装此软件,打开。

2024-06-07 21:08:06 210

原创 C语言指针的详解和应用

指针即指针变量,用于存放其他数据单元(变量数组结构体函数等)的首地址。若指针存放了某个数据单元的首地址,则这个指针指向了这个数据单元,若指针存放的值是0,则这个指针为空指针。定数据类型指向该数据类型的指针1字节x字节2字节x字节4字节x字节4字节x字节float4字节float *x字节double8字节double *x字节注:16位系统:x=232位系统:x=464位系统:x=8。

2024-05-29 16:10:48 723

原创 FreeRTOS中的队列集使用详解

队列集允许任务同时等待多个队列或信号量中的任何一个变为可用。队列集本身是一个集合,可以包含多个队列和信号量。当集合中的任意一个队列或信号量有数据可用时,任务将被唤醒,并可以确定是哪个队列或信号量变为可用。队列集的创建:使用创建队列集,指定其大小。添加队列和信号量:使用将队列和信号量添加到队列集中。等待队列集事件:使用函数阻塞等待队列集中的任何一个队列或信号量变为可用。处理事件:检查返回的成员是哪个队列或信号量,并进行相应处理。

2024-05-28 21:40:10 730

原创 FreeRTOS中的任务调度与时间片轮转中的任务抢占

同优先级任务不会立即抢占:当一个任务从阻塞态变为就绪态时,不会立即抢占当前运行的同优先级任务的CPU资源。时间片轮转确保公平:启用时间片轮转机制后,同优先级任务会在每个时间片到期时得到公平的执行机会。任务切换的触发条件:任务主动让出CPU、任务进入阻塞态以及时间片用尽都会触发任务切换。长期运行任务的影响:如果一个长期运行的任务不主动让出CPU或进入阻塞态,即使启用了时间片轮转机制,其他同优先级任务也可能无法得到执行机会。

2024-05-28 20:57:52 313

原创 FreeRTOS基础知识

简介:调度器就是使用相关的调度算法来决定当前需要执行的任务。

2024-05-27 20:36:45 225

原创 深入探讨STM32实时时钟(RTC)操作:从初始化到时间读取

在嵌入式系统中,实时时钟(RTC)是一个非常重要的组件,用于提供稳定和准确的时间基准。可以通过查询RTC_CR寄存器中的RTOFF状态位,判断RTC寄存器是否处于更新中。• 若在读取RTC寄存器时, RTC的APB1接口曾经处于禁止状态,则软件首先必须等待RTC_CRL寄存器中的RSF位(寄存器同步标志)被硬件置1。• 必须设置RTC_CRL寄存器中的CNF位,使RTC进入配置模式后,才能写入RTC_PRL、 RTC_CNT、 RTC_ALR寄存器。设置PWR_CR的DBP,使能对BKP和RTC的访问。

2024-05-26 17:20:10 957

原创 STM32:读写备份寄存器

设置RCC_APB1ENR的PWREN和BKPEN,使能PWR和BKP时钟设置PWR_CR的DBP,使能对BKP和RTC的访问。

2024-05-26 15:46:26 106

原创 SMT32-库函数:深入解析基于STM32F10x的SPI通信模块

这段代码实现了一个基于STM32F10x的SPI通信模块,包括初始化SPI接口、设置片选信号(SS),以及进行数据交换。代码结构清晰,功能明确,是学习SPI通信的优秀案例。

2024-05-23 15:51:57 690 1

原创 使用STM32实现软件模拟SPI通信:读取W25Q64

MOSI(主输出从输入):主设备发送数据从设备接收数据。MISO(主输入从输出):从设备发送数据主设备接收数据。SCK(串行时钟):主设备生成的时钟信号,用于同步数据传输。SS(从选择):主设备用来选择和控制从设备的信号。W25Q64是一款流行的64Mb(8MB)NOR闪存,广泛用于存储固件、配置数据等。在本文中,我们将使用SPI协议与W25Q64通信,读取其ID号以验证连接和通信是否正常。

2024-05-22 17:03:51 285

原创 KEIL软件代码提示快捷键问题

图中默认是勾选的,点击取消勾选,即可解决快捷键冲突的问题。

2024-05-21 15:20:13 257

原创 STM32中软件模拟I2C程序,使用教程

这段代码实现了一个用于STM32F10x系列微控制器的软件模拟I2C通信协议。I2C(Inter-Integrated Circuit)是一种广泛使用的串行通信协议,主要用于短距离设备通信。通过使用这段代码,用户可以在STM32F10x微控制器上实现I2C总线的基本操作,包括初始化、起始信号、终止信号、发送字节、接收字节以及发送和接收应答位。

2024-05-20 21:06:42 401 1

原创 STM32使用printf打印输出的方法以及解决汉字乱码问题

的35分58秒处的讲解,很详细。

2024-05-16 21:02:17 304 1

原创 Zigbee按钮外部中断失败原因

自己定义的P0和P2口按钮外部中断函数,当下载按钮后无法实现中断,需要将HAL\Target\CC2530EB\Drivers\hal_key.c里的这段代码注释掉,下面已经是注释过后的代码。

2023-10-17 14:53:17 51

原创 0.96寸6针OLED屏幕驱动代码

0.96寸6针OLED屏幕驱动代码

2023-10-17 14:43:36 177

原创 Zigbee按钮中断代码

代码实现了LED灯的配置,按钮的配置以及按钮按下后的外部中断函数,下面是外部中断函数通用格式。,下面为样例代码,实现了P1_0、P0_1的配置,具体配置参数参考具体板子配套的原理图。

2023-10-17 14:29:08 103

原创 Zigbee协议栈2007详解

Zigbee的前身可以追溯到1998年,当时美国的一些公司开始合作开发低功耗、低数据速率的无线通信技术。在此基础上,Zigbee联盟成立于2002年,开始制定Zigbee标准。: Zigbee协议栈的第一个版本1.0于2004年发布,这个版本建立了基本的架构和规范,包括PHY、MAC、网络层和应用层。: Zigbee协议栈的版本1.1发布,该版本修复了一些漏洞,改进了网络和设备的管理。: Zigbee Pro发布,这是一个增强的版本,引入了更多的功能和选项,以满足更多应用场景的需求。

2023-10-17 14:15:09 251

原创 ZigbeeCC2530端口配置与外部中断配置

⑤特别注意的是,P2SEL寄存器,同样也是0表示普通IO、1表示片上外设 注意:其中P2组只有5个IO口,但是P2_1 P2_2是用于下载程序用的,所以,这两个IO不需要配置,因此P2SEL的低3位分别对应P2_0、 P2_3 、P2_4.①通用IO:共21个,分成3组,P0组、P1组、P2组,其中P0\P1组各8个IO,P2组5个(P2_0、P2_1、 P2_2、P2_3、 P2_4)。P2_4 ,后面的3位决定在配置为上下拉模式,0表示上拉,1表示下拉。③开组内对应的具体某IO口中断;

2023-10-10 17:06:29 921

STM32-问题解决:使用CubeMX但未配置烧录方法导致的开发板无法多次烧录程序

STM32-问题解决:使用CubeMX但未配置烧录方法导致的开发板无法多次烧录程序

2024-06-07

空空如也

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

TA关注的人

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