自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-08-10 20:06:22 1294

原创 stem32江科大自学笔记

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

2024-08-06 17:47:56 2834 4

原创 数据结构知识汇总

数据结构目录目录

2024-07-22 21:12:01 152

原创 stem32系列文章目录

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

2024-07-20 08:42:31 977

原创 c语言系列文章目录

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

2024-07-20 08:35:14 311

原创 关于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 945

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

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

2024-08-25 16:53:45 415

原创 stm32部分元器件

晶振RC振荡器

2024-08-23 09:13:48 313

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

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

2024-08-22 19:17:19 388

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

2024-08-12 10:35:55 87

原创 位掩码操作进阶

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

2024-08-12 07:30:22 794

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

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

2024-08-11 08:31:56 307

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

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

2024-08-08 21:28:21 275

原创 定时器知识点

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

2024-08-03 17:45:33 718

原创 关于stem32的一些疑问

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

2024-07-31 21:11:10 576

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

2024-07-29 15:46:02 397

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

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

2024-07-27 21:27:02 509

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

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

2024-07-27 21:00:58 317

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

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

2024-07-27 20:56:28 309

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

2024-07-27 10:30:25 166

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

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

2024-07-26 11:24:06 307

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

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

2024-07-25 22:33:56 136

原创 单向链表知识汇总

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

2024-07-24 12:07:17 951

原创 基于循环的一些理解方法

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

2024-07-24 09:14:09 611

原创 关于位运算的一点进阶方法和记忆方法

口诀:同1或,结果为1,同0或,结果为原始值。| 看起来像不像1呢?看起来像1,就遇到1变成1,那么就知道遇到0,为原始值了。a&(a-1)

2024-07-22 23:58:49 373

原创 顺序表的基本概念和代码详解

顺序标的基本概念和代码详解静态特点:如果满了就不让插入 缺点:给多少的合适呢?这个很难确定N给小了不够用,N给大了浪费。

2024-07-22 22:17:49 547

原创 关于非真假逻辑大绕弯

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

2024-07-22 16:02:00 281

原创 代码追溯法

2024-07-22 09:04:03 88

原创 关于回调函数的理解

`1.当定义函数的模块在本模块未使用,而在其他模块使用,都可以采用回调函数。

2024-07-21 13:05:39 322

原创 USUART代码例程和库函数

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-07-20 16:32:36 797

原创 使能寄存器,复位和时钟单元(RCU)和中断选择向量(nvic)

RCU 是复位和时钟单元,复位控制包括三种控制方式:电源复位、系统复位和备份域复位。时钟控制单元提供了一系列频率的时钟功能。章节3.19.1描述了RCU 的寄存器列表,章节3.19.2对 RCU 库函数进行说明。

2024-07-20 12:22:44 493

原创 自定义中断服务函数(中断处理函数或者中断函数)

在启动文件startup_gd32f03x_hd.s中。

2024-07-20 11:12:09 231

原创 EXIT常规流程和示例代码

EXIT常规流程和示例代码

2024-07-20 09:34:38 415

原创 中断和EXIT原理介绍

EXTI(Extern Interrupt)外部中断。

2024-07-20 08:19:03 651

原创 基于内核DWT实现硬件延时

注意这种硬件延时的方式只在CoreTexM3以上的内核有效,低于该内核是无效的。一般调用DelayNms(5000)较为合适。

2024-07-19 23:06:25 361

原创 USART串口理论知识总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言USART串口print代码案例前言提示:这里可以添加本文要记录的大概内容:USART串口print代码案例#include <stdint.h>#include <stdio.h>#include "gd32f30x.h"static void Usb2ComGpioInit(void){ rcu_periph_clock_enable(RCU_GPIOA); //配置TX引脚

2024-07-18 18:41:15 1153

原创 代码命名规范

以后按照此规范书写,就能明白是什么变量、函数。

2024-07-13 17:26:16 324

原创 收集C语音在嵌入式中各种报错信息

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档收集C语音在嵌入式中各种报错信息前言一、enum和switch的联合使用前言一、enum和switch的联合使用

2024-07-13 12:18:18 216

原创 关于结构体、define和enum;和,使用的区别

1.define 无;有#2.struct 内部元素以;分开 ,数组 和 enum以 ,分开。而且结束时都会有;3.区分 / \ 前除 后反斜杠?和除一致 |\未反斜杠。

2024-07-13 11:23:43 192

原创 systick实现定时器

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

2024-07-13 10:29:22 174

空空如也

空空如也

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

TA关注的人

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