- 博客(29)
- 收藏
- 关注
原创 基于STM32 的机场安检闸机排队系统
应用场景:现实中可能涉及到人数限额排队的情况下使用,例如安检(不能一次性通过太多人数:机场、高铁站、地铁等),电梯人数限额(一个电梯内限制10人次等),密室逃脱组队(几个人一组)STM32------>红外避障模块(当红外反射回来'有障碍物',OUT 输出低电平,输出指示灯(绿灯)亮。3、允许通过时,绿色LED常亮,蜂鸣器不响,继电器不闭合,闸机打开。4、不允许通过时,绿色LED熄灭,红灯闪烁,蜂鸣器闭合,闸机关闭。STM32------>蜂鸣器。STM32------>继电器。·继电器(控制闸机)
2024-04-24 23:58:26 225
原创 STM32_警报装置
实现功能:按下遥控器A键,喇叭响0.5秒,表示上锁。此状态下触发震动传感器会触发报警,持续2秒;按下遥控器B键,喇叭响0.1秒,表示解锁,此状态下,不会触发警报装置。基于STM32F1系列单片机,开发一套根据震动可报警的系统,可以用于多种情景:防盗窗被打开、警卫模式下的各种装置等。433M无线接收发射模块。
2024-04-24 00:24:35 210
原创 C语言-单片机:STM32程序烧录的几种方法
总结来说,STM32的程序烧录方式主要包括使用官方或第三方的硬件调试器(如ST-LINK、J-Link等)通过SWD或JTAG接口进行烧录,利用内置或自定义的Bootloader通过UART、USB等接口进行ISP编程,以及直接通过USB DFU模式进行固件升级。选择哪种方式取决于具体的应用需求、开发环境和硬件资源。STM32微控制器提供了多种程序烧录(也称为编程或固件更新)方式,这些方法允许用户将编译后的程序代码(通常为HEX或BIN格式)下载到MCU的闪存中。
2024-04-19 23:39:41 718
原创 Linux-面试题
程序: 程序是一种静态的实体,它是计算机中一组有序的指令集合,这些指令定义了完成特定任务所需的操作序列。程序通常以某种编程语言编写,经过编译或解释后转换为机器语言,使得计算机能够理解并执行。程序包含了算法、逻辑、变量、函数、类等结构,以及相关的数据和资源引用。程序是逻辑上的概念,存储在磁盘或其他非易失性存储介质中,具有持久性,即使在没有被执行时也依然存在。程序本身不具备运行的含义,不占用系统资源,也不参与任何实际的计算活动。进程: 进程是程序在计算机系统中的一次具体执行过程,是一个动态的实体。
2024-04-14 12:01:20 714
原创 C语言-Linux:文件操作fopen和open的区别
提供了底层、灵活且功能强大的系统调用,适用于需要更多控制权或与系统紧密集成的场景。选择使用哪一个函数取决于具体的应用需求和对性能、控制粒度的考量。提供了高级、便捷且跨平台的文件操作接口,适用于常规的文件读写任务。
2024-04-12 23:46:35 357
原创 C语言-嵌入式开发-C51:为什么要用PWM调制?
掌握PWM是作为嵌入式开发逃不掉一项基本技能,那首先我们先来了解一下到底什么是PWM吧!!!PWM 是 Pulse Width Modulation(脉冲宽度调制)的缩写,是一种常用的信号调制技术,主要应用于模拟控制和功率变换领域。
2024-04-10 23:22:36 920
原创 C语言-单片机-C51:控制LCD屏幕时,都是小黑方块,看不清字符
当您在控制 LCD1602 液晶显示屏时遇到显示为小黑方块,看不清字符的问题,这通常是由于 LCD1602 的初始化或通信过程出现了问题。LCD1602 是一款经典的 16x2 字符型液晶显示器,它有自己的特定通信协议和操作模式。
2024-04-10 22:47:44 403 1
原创 单片机:软件消除按键抖动
首先我们要清楚地明白一点,“所谓抖动,就是不稳定因素”,就像我们有时候听不清一个人在讲什么,让他重复一遍就好了,那在此之间就会存在一定的延迟,所以只要实现软件“延时”,就可以消除大部分的不稳定因素。,当按键闭合或断开时,由于机械触点的弹性作用,会产生一系列的抖动现象,这些抖动可能导致系统误读输入信号。软件消抖是一种通过编程实现的方法,它在检测到按键动作后,会执行一段。,延时一段时间后再次检测按键状态,如果延时前后按键的状态一致,则认为是有效的按键动作,否则视为抖动。资源,可能会对系统的性能产生一定影响。
2024-04-03 15:31:46 348 1
原创 C语言:动态开辟字符串实战
我们都知道,在计算机编程中,字符串是一种基本且广泛使用的数据类型,通常用于表示文本信息。然而,在C语言以及其他一些低级编程语言中,预定义大小的字符数组(如果野孩子p又想带自己的丐帮小弟回家应该怎么办呢?3、如果传入的字符串长度超出动态定义的空间,容易溢出,越界等等问题出现。)往往不能满足所有应用场景的需求。这时,动态开辟字符串的功能显得尤为重要。2、释放完指针地址后,要记得约束住它,让p=NULL;4、使用realloc扩容后的空间地址,首地址不变。1、每一次动态开辟的空间地址是不一样的;
2024-03-22 23:56:45 170 1
原创 C语言:为什么要动态开辟字符串?
在计算机编程中,字符串是一种基本且广泛使用的数据类型,通常用于表示文本信息。然而,在C语言以及其他一些低级编程语言中,预定义大小的字符数组()往往不能满足所有应用场景的需求。这时,动态开辟字符串的功能显得尤为重要。本文将深入探讨为什么我们需要动态开辟字符串,以及动态字符串如何解决常见的内存管理和灵活性问题。
2024-03-22 23:21:25 359 1
原创 C语言:什么是野指针(悬挂指针)
它可能指向任何地方,包括程序的合法内存区域或非法内存区域,因此使用野指针可能会导致程序运行时错误,如段错误或访问冲突。为了避免野指针问题,需要确保指针在使用之前被正确初始化,并且始终将其指向有效的内存区域。2、已释放的内存:如果指针指向已经释放的内存区域,那么在该内存区域上进行任何操作都是不安全的,因为它可能已经被重新分配给其他变量或对象。1、未初始化的指针:如果指针在使用之前没有被正确初始化,它将是一个野指针。3、越界访问:如果指针访问了超出其分配的内存区域,那么它将是一个野指针。
2024-03-22 23:15:36 153 1
原创 C语言:二级指针(多级指针)
网上看到过这样一个资讯,有个非常难得数学问题,大佬们想用编程实现,始终不得其解,后来被一个俄罗斯团队解决掉了。后来一层一层剖析代码,发现战斗民族用了5层指针!多级指针其实就是套娃,只要搞清楚二娃存大娃的地址,三娃存二娃的地址,第n个娃存第(n-1)娃的地址,这个概念,还是比较好理解多级指针的。那么多级指针又是什么呢?
2024-03-21 22:21:30 194 1
原创 C语言:指针函数&&函数指针
指针函数的本质是一个函数,只是它的返回值是一个指针。函数指针的本质是一个指针,但它指向的是一个函数。,这样可以在运行时动态决定调用哪个函数,实现更灵活的编程结构。,它存储的是一个函数的地址。声明函数指针时,其类型需要与所指向函数的类型匹配,包括返回类型和参数列表。也就是说,这类函数执行后会返回一个地址给调用者,这个地址指向某种类型的变量或对象。指针函数(Pointer Function):(强调函数本身)指针函数的主要作用是通过函数调用来返回一个变量的地址。函数指针的作用则是可以像操作其他数据指针一样来。
2024-03-21 15:28:31 197 1
原创 C语言:二维数组和指针
简单来说,指针就是一个变量,它存储了一个内存地址。通过这个地址,我们可以访问并修改该地址上存储的数据。那为什么要用指针呢?从两个实际应用的角度来讲://要实现的功能为:将数组a中第n个元素,替换为data//遍历数组int i=0;i++;return 0;其实在上述代码当中,函数change()中并没有创建临时的数组b[]来帮助main()函数中的a[]数组去改变里面的元素。其实质是根据地址来操作里面的数据。
2024-03-20 14:43:57 572 3
原创 C语言:函数的参数(当数组作为函数参数时)
今天我在学习中,看到了这样的一个案例:(各位看官老爷请看)printf("形参daat的地址:%p\n",&data);printf("主函数中 实参 data的地址:%p\n",&data);return 0;在这里运行之后给到的答案是:很显然,主函数中的全局变量data的地址和函数中形参的地址是完全不一样的(这里还涉及到了生命周期巴拉巴拉)。
2024-03-16 23:07:43 153 1
原创 在nodemon中遇到 code: ‘ERR_HTTP_HEADERS_SENT‘
在nodemon中遇到 code: 'ERR_HTTP_HEADERS_SENT'
2022-12-08 18:36:43 778 1
原创 Git本地仓库文件提交至远程仓库
今天我要分享的就是,如何将我们本地的文件提交到Gitee/GitHub远程仓库。主要的操作也不过就是:git clone 以及git push。作为一名初级程序员,Git是我们必须掌握的一门技术。git lone 想必大家都不要太熟悉,太简单。
2022-10-21 23:11:48 271
基于STM32实现电动车报警器
2024-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人