自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在嵌入式系统编程中,如何正确地使用位掩码和位操作?

使用位掩码宏:通常,硬件抽象层(HAL)或标准外设库会提供位掩码宏,这些宏定义了寄存器中每个位的掩码。这些示例和描述展示了如何在嵌入式系统编程中使用位掩码和位操作来访问和修改寄存器的特定位。位与操作(AND):使用&操作符来检查特定位的状态。位清零操作(AND NOT):使用&操作符与位掩码的补码来清除特定位。位异或操作(XOR):使用^操作符来切换特定位的状态。使用宏定义来创建一个位掩码,该掩码用于操作寄存器的特定位。位或操作(OR):使用|操作符来设置特定位。使用位移操作来移动位字段。

2024-08-10 20:06:22 2374

原创 stem32江科大自学笔记

【代码】stem32江科大自学笔记。

2024-08-06 17:47:56 3887 6

原创 数据结构知识汇总

数据结构目录目录

2024-07-22 21:12:01 191

原创 stem32系列文章目录

GPIO知识总结中断和EXIT原理介绍基于内核DWT实现硬件延时systick实现定时器USART串口代码示例

2024-07-20 08:42:31 1023

原创 c语言系列文章目录

关于标准输入输出函数的一点理解关于结构体、枚举和typedef的组合理解关于指针、函数和数组混用后 ,声明如何解析的一点个人见解关于结构体、define和enum中 ;和,使用的区别代码命名规范收集C语音在嵌入式中各种报错信息

2024-07-20 08:35:14 340

原创 X86-64系统的汇编指令

例子:-12(%rbp) -> 地址为:%rbp-12。12(%rdi,%rcx,4) -> 地址为:12+ %rbp +%rcx * 4。寄存器:%rax :寄存器指针中的值或者空间 ,寄存器的空间。64位(r) -32位(e)-16为(取e)-8位(结尾l)pushq %rax,表示将%rax中值保存到栈中。popq %rax,弹出栈顶元素,放入%rax中。内存引用:( ) :一个地址的解引用,是内存空间。汇编的本质是 内存和寄存器之间的数据交换。

2024-12-13 11:38:38 990

原创 关于二叉树递归的几种要点

基本情况是递归停止的条件,而递归情况是函数调用自己来解决问题的一部分。可能还有一层处理问题的基本情况,比如找节点,找深度,找到了直接返回。基本情况:一定有一个root为NULL的的情况,直接返回。递归算法通常意味着对每个节点进行相同操作,如果该节点有。如果没有子节点,直接返回。没找到就继续向左右子树查找。如果是返回最深层的节点个数,,则同样的操作也会应用到其。(base case)和。左边没找到去右边找。

2024-11-18 10:02:21 389

原创 王道数据结构之栈和队列

例如:第一章 Python 机器学习入门之pandas的使用。

2024-11-10 20:09:17 452

原创 王道考研之数据结构顺序表和链表

线性表:具有相同数据的序列。线性的表包含顺序表(数组)和链表。概念描述位序从1开始计数,用i表示位序。数组下标从0开始计数,用index表示数组下标,其中表头元素线性表的第一个元素。表尾元素线性表的最后一个元素。前驱前一个元素,即当前元素的前一个位置的元素。后驱后一个元素,即当前元素的后一个位置的元素。顺序表:逻辑上相邻的元素,物理上也相邻。----数组结构。

2024-11-08 20:20:22 497 1

原创 关于循环的高级应用与分析

例如:第一章 Python 机器学习入门之pandas的使用。

2024-11-06 20:53:41 508

原创 几大排序算法(持续补充)

直到找到满足排序的下标(主动break出循环,记录下标)。但是如果遍历完整个有效数组后,都不满足排序,此时j=-1(会自动出循环时的下标,记录下标);3.当有效数组中元素和tmp相比,当不满足排序时:就向后挪动数据,并且数组下标j–;总结就是:不满足排序,挪动数据 满足排序记录下标,在。2.有效数组:指插入数字tmp前面的所有数据构成的数组。当升序时,a[j]tmp。

2024-11-04 19:52:46 387

原创 C实现面向对象

C实现面向对象编程

2024-10-29 11:39:17 453

原创 C语言的动态分配内存和内存拷贝等操作

malloc函数接口介绍

2024-10-26 09:10:54 383

原创 C++类和对象基础知识

c++类和对象基础的知识

2024-10-23 16:24:28 603

原创 c++基础知识合集

c++基础知识1。

2024-10-19 16:35:40 298

原创 8080时序

在WR高电平时,将数据放入D[0:15]数据线上。在WR上升沿,读取D[0:15]数据线上的数据。通过RS来区分是命令还是数据。

2024-09-25 09:56:10 709

原创 串口调试重定向

【代码】串口调试重定向。

2024-09-22 11:27:18 330

原创 关于FreeRTOS知识点总结

1.FreeRTOS框架常识。

2024-09-15 13:26:53 486

原创 FreeRTOS常用API接口函数

提示:FreeRTOS常用API接口函数:并对部分参数附上自己的解释,后面继续补充。

2024-09-14 20:44:10 1153

原创 温湿度传感器 Datasheet SHT20 (I2C)

手册的地址:

2024-09-12 19:13:40 130

原创 Datasheet SHT20芯片的数据手册

14位有效,我以为是将后二位删除,实际上看完手册才知道是后二位值无用,不是删除,而是清0,实际上还是16为,知识后二位是0还是1,都不在关注,同意清零。I2C读取湿度传感器返回的16位数据。Datasheet SHT20芯片的数据手册。

2024-09-12 19:09:47 415

原创 关于GD32外挂8080LCD芯片的疑问(非面向公开的,用于记录踩坑点)

通过ESMC来外挂外部存储器,通过地址映射来管理外部存储器的地址。EA0~EA24是对外暴露的地址线接口,RS为0表示CMD,RS为1表示DATARS接了FSMC地址线A0上,所以只需要A0为0就表示cmd,A0为1就表示DATA,我这种方法#define LcdSendData(dataVal) (*(volatile uint16_t *)0x64000003) = dataVal ,A0应该也是1呀?为什么不行呢你提到的寄存器地址和访问问题可以从以下几个方面分析:问题二. 地址对齐问题 可以

2024-09-03 11:11:59 1090

原创 基于状态机实现的按键释放、消抖、单击、双击、长按等功能

在这个状态下,代码检测按键是否稳定按下。如果是在长按状态在向释放状态迁移过程中,执行了获取长按的按键码值,则代表着是在长按结束时,系统响应长按。如果是在短按状态向长按状态迁移时,发生的动作(返回长按码值),则代表着是在长按开始时,执行了长按的动作。在这个状态下,代码检测是否有按键按下,如果按下,转移到消抖确认状态。如果是在长按状态在向释放状态迁移过程中,执行了获取长按的按键码值,则代表着是在长按结束时,系统响应长按。四个状态:释放,消抖、短按、长按,三个动作:三个返回值:长按码值、单击按码值、双击码值。

2024-08-25 16:53:45 717

原创 stm32部分元器件

晶振RC振荡器

2024-08-23 09:13:48 351

原创 关于裸机调度的时间片

提示:针对不同的模块,调用时间间隔不同,合理利用系统资源。

2024-08-22 19:17:19 454

原创 三极管和mos管导通条件

三极管 电流型控制器。

2024-08-12 10:35:55 138

原创 位掩码操作进阶

位掩码操作是低级编程中常用的技术,特别是在嵌入式系统、硬件抽象层(HAL)和操作系统内核编程中,它们允许程序员高效地访问和控制硬件寄存器的特定位。)来提取寄存器中特定位的值,然后可能通过位移操作(右移)来获取这些位的值。使用位移操作()来改变位的位置,然后使用位或操作(OR,使用位掩码和位移操作来填充或清除一个位域(bit field)。使用位移操作(

2024-08-12 07:30:22 944

原创 关于c语言中取商和取整应用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-08-11 08:31:56 693

原创 关于嵌套循环之深入理解

此三维数组由3个二维数组组成,此二维数组由3个一维数组组成。三维数组:维度为(3, 3,3)说明嵌套循环,是由外即内,

2024-08-08 21:28:21 338

原创 定时器知识点

从基准时钟到预分频器再到计数器,计数器计数自增,同时不断地与自动重装寄存器进行比较,

2024-08-03 17:45:33 820

原创 关于stem32的一些疑问

记录学习过程中stem32的一些疑问。

2024-07-31 21:11:10 621

原创 关于顺序表数组下标的一些关系梳理

2024-07-29 15:46:02 429

原创 栈知识梳理和函数实现

栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。栈顶(Top):线性表允许进行插入删除的那一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。空栈:不含任何元素的空表。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。

2024-07-27 21:27:02 566

原创 关于数据存储位置的一点知识

关于数据存储位置的一点知识

2024-07-27 21:00:58 355

原创 关于链表、顺序表、栈和队列的一些总结

关于链表、顺序表、栈和堆的一些总结1.顺序表2.链表2.1 单向链表2.1 带哨兵位双向循环链表3.栈4.队列1.顺序表2.链表2.1 单向链表2.1 带哨兵位双向循环链表3.栈4.队列

2024-07-27 20:56:28 335

原创 关于手写链表的一点个人错误解析

2024-07-27 10:30:25 188

原创 带哨兵位的双向循环链表

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-07-26 11:24:06 342

原创 关于if return的组合来实现if else效果

提示:以下是本篇文章正文内容,下面案例可供参考。

2024-07-25 22:33:56 190

原创 单向链表知识汇总

提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-07-24 12:07:17 1017

原创 关于循环等待,跳出循环值的判断方法

int a=0;b=a;a++;求b等于多少?此处可以用逆推法a=5跳出循环,即上一个循环末尾a的值为5,= NULL)free(tail);

2024-07-24 09:14:09 702

温湿度传感器 Datasheet SHT20 (I2C)

温湿度传感器 Datasheet SHT20 (I2C)

2024-09-12

空空如也

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

TA关注的人

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