自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【对于寄存器地址和指针的关系】

单片机就是一个寄存器,那么我们以51单片机为来说,51单片机的P0端口的地址是0X80,我们就需要控制0X80的位置,首先在keil中不支持指针对51单片机操作,所以这里引入了汇编的sfr和sbit,sfr这个指令是控制一个8位的寄存器地址,sbit是控制一位地址。这里因为51单片机的寄存器是8位,这样也能实现对寄存器的操作,但是可能是编译器的原因51单片机不能这么使用,但是STM32单片机可以,这里我们已经对指针操作寄存器有所了解了,那么下面我就用STM32正式写一个寄存器操作单片机的代码。

2024-08-22 17:29:22 145

原创 C语言顺序表在串口的应用

首先我们要知道什么是顺序表:顺序表是一个线性的储存结构,我们呢先在这里介绍一下顺序表是怎么增删改查吧。

2024-07-20 14:45:24 162

原创 单片机按键长按短按双击连击(四双击)

在这里我解释一下代码,是首先,按下按键,我们对计数器开始计数,当计数器达到消抖时间那么就把短按标志位置1,证明有按键按下,然后把按键按下次数加1,如果按键次数达到两次就把双击标志位置1,我们再来看第二个elseif语句,(!前面我们说到了按键的循环消抖,长按识别,连击识别,今天我们来对双击按键进行编写,其实双击就是连按连下,双击,三连按,四连按本质上都一样,今天我只进行双击的编写,其实三连按就是在双击的基础上多按一下,多记一次数,然后多一个键值。

2024-07-07 00:47:16 197

原创 C语言指针的使用基础

这里我们定义了一个指针,在数组中,内存地址之间的关系是递增的,而指针指向的是数组第一个的地址,所以我们第一次打印应该是1,第二次,我们指针地址加一,现在指向了第二个值,所以应该是2,现在我们运行以下代码看看结果。还有一些人乱用指针,本来就要在程序中规避野指针,他还直接用野指针,所谓。1. 数组越界,就是一个指针的操作超过了数组的有效范围。对于C语言来说无非就是一个指针对于很多人来说比较难,听到指针就头疼。野指针就是没有指向,或者指向不可知的的位置。看到这里应该能够初步使用指针了吧?

2024-07-06 08:03:27 243

原创 单片机的按键(三连击)

我们前面说到单片机的按键的循环消抖和长按识别那么今天来继续分享按键的连击,在前面的两节里面我们可以看出,按键的状态只有短按和长按,并且短按只能识别一次,有的时候,我们需要连续执行短按操作,这该怎么办?首先,我们还是老规矩,定义一个结构体,和前面的长按短按的结构体一样,这里提一下,为什么采用结构体,其实不用结构体也可以,但是会定义很多东西,会影响我们代码模块化,可以移植很差。这里和前面提到的长按短按时间一样,根据自己的需求修改,就不多说了,如果想不明白的,可以去看看我前面的两个分享。

2024-06-30 23:11:23 552

原创 对于单片机的长按短按连击的实现(二长按)

我们都知道在按键按下的时候会有一个抖动的时间,那么抖动结束以后就是真正按下按键的时间,那么这里就实现了按键的消抖,那么如果我们继续按下想要执行长按怎么办?这里说一下,因为代码内容的不同,循环时间可能长短不依,这里宏定义就是为了好修改,因为如果单词循环的时间太长,那么这里的长按就需要按下很久才能判断,如果循环一次的时间太短,这里短按就无法被识别到,就会只出现长按的现象,所以根据你自己的需求进行修改。在前面我们讲到单片机的循环消抖的操作实现,这里我们继续实现对于长按的实现,那么我们首先要了解长按的过程。

2024-06-21 09:19:07 574

原创 在单片机中按键长按短按双击长击的实现(循环消抖)

这里我们集中解释一下代码,首先我们判断一下案件是否按下,如果没有按下,我们就把标志位和计数位清零,否则就是按键按下,然后我们在判断一下标志位是否位1,如果为1就证明按键按下,就不用继续计数了,等待按键释放标志位重载为0,如果为0,就会对计数位进行累加,直到它加到循环次数足够,就会给标志位值1,然后赋键值给key_num,然后返回出去,然后再进来,key_num就会重载初值,不会再继续给案件赋值。我们在单片机开发的时候,因为各种因素,一个按键肯定不能只有一个功能,所以,我们应该怎么判断它到底是什么功能呢?

2024-06-10 04:28:13 611

空空如也

空空如也

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

TA关注的人

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