自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 在C语言中typedef和define的区别?

定义数组、指针、结构等类型会带来很大的方便,不仅使程序书写简单,也使意义明确,增强可读性。用来定义类型的别名,起到类型易于记忆的功能。另一个功能是定义机器无关的类型。内给一个已经存在的类型一个别名,但不能在一个函数定义里面使用typedef。,不作正确性检查,只有在编译已被展开的源程序时才会发现可能的错误并报错。不只是可以为类型取别名,还可以定义常量、变量、编译开关等。是关键字,在编译时处理,有类型检查功能。,在预处理时进行简单而机械的。的机器上,看起来是这样的,的机器上,是这样的,

2023-10-24 11:12:50 133

原创 【OLED多级菜单——树结构】

废话少说,一般有两种方法实现OLED多级菜单。1、链表。2、树。本文主要介绍树结构实现的OLED多家菜单。下面来看硬件搭配。

2023-08-23 17:27:15 1716

原创 STM32定时器——编码器模式采集EC11旋转编码器

EC11旋转编码器广泛用于车载DVD,车载导航,汽车影音上,常被人称为车载编码器。编码器主要用于频率调节高度调节,温度调节及音量调节的参数控制。注意编码器避免储藏于高温潮湿及腐蚀的场所,拆包装后未使用完的剩余产品请在防潮防毒的环境下保存上图中的A、B端子就是旋转编码器的信号引脚,当我们顺时针和逆时针转动时,A、B端子的闭合先后顺序不一样顺时针: A端子先闭合先断开逆时针:B端子先闭合先断开简述一下:因为旋转编码器的AB引脚输出的电平信号存在相位差,如上图所示,我们可以借此分辨出其旋转方向。

2023-08-17 21:28:21 3380 1

原创 基于STM32HAL库的ADC采样滤波程序

在回调函数中,我获取最新的ADC采样数据,并将其累加到adc_sum变量中。否则,将最新的ADC采样值存储到平均滤波缓冲区中,并将最旧的数据从累加和中减去,将最新的数据加入累加和中。然后,通过使用限幅滤波器函数,将采样值限制在最大值和最小值区间内,得到过滤后的数据。注意,在示例中,使用了一个循环来获取多个采样值,并且在每次采样之间进行了延迟。然后,采用中值滤波算法,根据给定的滤波器大小,获取中间值,作为过滤后的数据。注意,在示例中,使用了一个循环来获取多个采样值,并且在每次采样之间进行了延迟。

2023-08-08 22:21:52 1634

原创 【FreerRTOS按键队列的实现】

20。

2023-08-07 20:21:08 321

原创 【stm32多串口重定向教程printf】

stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。如果在从函数返回之前没有调用 va_end,则结果为未定义。可变参数的函数通在参数列表的末尾是使用省略号(,…,它与 va_arg 和 va_end 宏是一起使用的。

2023-08-02 21:14:28 556

原创 【STM32的空闲中断(Idle Interrupt)】

/记录数据的开始位置和结束位置 uint8_t * start;} LCB;//记录存入缓冲区的数据量 uint32_t TxCounter;//发送状态 LCB RxLocation [ 10 ];} UCB;2048//记录数据的开始位置和结束位置 uint8_t * start;} LCB;//记录存入缓冲区的数据量 uint32_t TxCounter;//发送状态 LCB RxLocation [ 10 ];} UCB;2048。

2023-07-26 10:22:47 3070

原创 【STM32启动文件分析】

启动文件(startup file)是指在单片机程序运行时最先执行的一段代码,主要负责初始化芯片内部的寄存器、片外外设的初始化、栈和堆的设置等,为应用程序的正常运行做好准备工作。这意味着在汇编程序中使用的符号或函数不是在当前汇编文件中定义的,而是在其他汇编文件或C代码中定义的。配置系统时钟:启动文件会配置系统时钟,根据芯片的型号和外部晶振的频率,设置CPU时钟、总线时钟和外设时钟。设置堆和栈的初始值:堆和栈是在内存中分配给程序使用的两个区域,启动文件会设置它们的初值和大小。.s或startup_

2023-07-24 20:24:24 1709

原创 【Linux下gcc编译的四个过程】

添加行号和文件标识,如#9 “usart.c” 9,以便于编译时编译器产生调试用的行号信息及用于编译时产生编译错误或警告时能够显示行号信息;处理#include预编译指令,将被包含的文件插入到该预编译指令的位置。该过程递归进行,及被包含的文件可能还包含其他文件。,也就是可以机器可以执行的二进制程序。会生成 .o 文件。将所有的#define删除,并且展开所有的宏定义;处理所有条件编译指令,如#if,#ifdef等;编译器会将预处理完的 .i 文件进行一些列的。后生成对应的汇编代码。

2023-07-18 17:30:11 97

原创 【基于STM32HAL库移植FreeRTOS】

然后在工程里面添加这些文件,还有一个FreeRTOS配置文件(FreeRTOSConfig.h),别忘了添加文件的路径。在usart.c文件中添加一下代码,方便串口调试输出打印信息。在stm32f1xx_it.c文件中,添加下面三个函数。RVDS是FreeRTOS适配STM32的文件。在这里开始就要创建任务开始调度了。在main.c文件添加一下头文件。编译成功后点击在线调试步骤如下图。下载解压后根据下图进入如下位置。MemMang是内存管理文件。

2023-07-16 22:39:35 755

原创 【虚拟仿真出“no “read“ permission”问题】

之前在其他电脑上没有出现过这种问题,现在可能是因为重新安装的软件第一次仿真调试,所以keil在解读芯片型号时出现错误。一般只需要修改Debug处的.DLL,这是单片机的加载文件。

2023-07-16 19:00:47 323 1

原创 如何从NCBI上通过aspera下载SRA数据

获取到了TXV文件后我们需要对内容修改成我们需要的格式,首先文件格式是.TXT 使用EXCEL打开,处理成下图所示的文件。3、第二步使用Notepad++把分号替换成换行,查找模式是扩展,替换为\r\n。点击SRA Run Selector 跳转并获取BioProject。1、打开下载的.TXT文件,图中红色方框中的数据是我们需要的数据。处理号后就可以直接使用aspera批量下载数据。上查询需要下载的list。2、第一步直接替换成空。

2023-07-13 10:42:04 1650

原创 【在Linux下使用Miniconda配置Trust4】

在Linux下使用Miniconda配置Trust4,你可以按照以下步骤进行:首先,你需要安装Miniconda。

2023-07-13 10:09:00 202

转载 嵌入式Linux常用基础命令

嵌入式Linux常用基础命令一、目录/文件操作命令1、pwd(print working directory)2、cd3、mkdir4、rmdir5、ls6、cp7、rm8、cat9、touch二、查找/搜索命令1、find2、grep三、改变文件的权限和属性1、chgrp2、chown3、chmod五、压缩/解压命令1、gzip2、bzip23、tar六、VI编辑器命令1、VI编辑器的模式2、文件的打开/新建/保存3、文件的编辑4、快速移动光标5、文本的复制/粘贴/删除/保存6、文本的查找和替换一、目录

2023-04-06 17:11:49 554 3

原创 STM32使用串口(空闲中断IDLE+DMA)接收ESP8266数据

空闲的定义是总线上在一个字节的时间内没有再接收到数据,USART_IT_IDLE空闲中断是检测到数据被接收后,总线上在一个字节的时间内没有再接收到数据的时候发生的。而空闲中断又分为两种:1、当接收到1个字节,会产生USART_IT_RXNE中断2、当接收到一帧数据,就会产生USART_IT_IDLE中断。

2023-03-27 09:37:56 1024 2

转载 MQ135

以MQ135为例首先声明,公式不是官方给定的,而且有很多的局限性。这篇文章是个人对MQ系列传感器电压与浓度转换的公式进行一个探索。

2023-03-21 11:13:50 3033 1

转载 HAL库方式的微秒延时函数

STM32单片机HAL库实现微妙级延时

2023-03-19 14:42:02 675

原创 LD14雷达STM32F103C8T6获取LD14激光雷达数据

LD14 主要由激光测距核心,无线传电单元,无线通讯单元,角度测量单元、电机驱动单元和机械外壳组成。LD14 测距核心采用三角测量法技术,可进行每秒 2300 次的测距。每次测距时,LD14 从一个固定的角度发射出红外激光,激光遇到目标物体后被反射到接收单元。通过激光、目标物体、接收单元形成的三角关系,从而解算出距离。获取到距离数据后,LD14 会融合角度测量单元测量到的角度值组成点云数据,然后通过无线通讯将点云数据发送到外部接口。同时电机驱动单元会驱动电机,通过 PID 算法闭环控制到指定的转速。

2022-10-18 17:01:09 3477 4

原创 夏普GP2Y0AYK0F红外测距传感器在STM32F103C8T6中的使用及电压转换公式。

夏普GP2Y0AYK0F红外测距传感器在STM32F103C8T6中的使用及电压转换公式。

2022-10-01 21:27:39 4666 2

原创 STM32F103C8T6+ESP8266WIFI+DHT11模块连接巴法云

2.ESP8266:正点原子WIFI模块3.串口模块:正点原子串口模块实现思想单片机向esp8266模块发送at指令,并且在一定的时间内等待esp8266的回复,如果回复错误的指令或者超时回复就把错误通过串口1发送到电脑上。代码介绍AT指令发送函数uint8_t esp8266_send_cmd(char * cmd , char * ack , uint16_t waittime) //ESP8266发送指令(底层函数) {

2022-09-20 17:07:06 4264 32

原创 STM32利用滴答定时器实现高精度延时(在DHT11温湿度传感器中的应用)

滴答定时器又称 SysTick,有两个时钟源,一个为内部时钟,一个为外部时钟。滴答定时器是一个 24 位倒计数的定时器,从预装载值一直到 0,重装载寄存器的值会自动装载到计数寄存器中。 只要不把它使能位清除,那么它就永远不停,即使在芯片在睡眠模式下也能工作。

2022-05-04 21:06:38 1166

原创 STM32 ADC多通道采集

ADC多通道采集(阻塞模式、ADC_DMA模式)ADC多通道采集(阻塞模式)ADC多通道采集(DMA模式)ADC多通道采集(阻塞模式)1、时钟源配置2、配置RCC时钟(选择第三个选项 Crystal/Ceramic Resonator 晶体/陶瓷谐振器 )3、配置一个LED灯,在程序编写中让它闪烁代表程序没有死机。4、设置调试模式,我们选择SW5、设置串口,因为我们的程序采集到了adc的数值之后会发送到串口调试助手上,证明ADC采集是否成功。选择异步模式、波特率是默认的11520

2022-04-30 00:53:09 21380 1

原创 AWTRIX像素屏时钟搭建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、AWTRIX是什么?二、AWTRIX像素屏时钟搭建步骤1.材料准备2.ESP8266固件刷写3.接线方式4.手机端配网4.服务器的搭建三、搭建时钟常见的问题及解决方法四、效果图(网上的up主制作的)前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、A

2021-11-22 09:34:03 3353 7

原创 IPV4怎么转换成IPV6?

一、什么是ipv6?IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍二、IPV6的组成结构IPv6的地址长度为128位,是IPv4...

2021-09-06 21:42:34 17467 6

原创 2021-09-04

使用ESP8266实现STM32连网(USART实现)(巴法云物联网)1、使用硬件程序思路(基于正点原子的测试程序)在巴法云物联网创建的主题ESP8266初始化代码(比较简陋)主函数代码如果想用串口助手调试,接线方法如下:1、使用硬件我这里使用的是正点原子家的STM32开发板(精英版)和ESP8266模块。刚开始准备做一个LORA网关的,但是后面因为比赛的原因就没有搞了,就搞了LORA的通信和WIFI上云(巴法云物联网)的代码:正点原子家的STM32开发板(精英版)ESP8266模块

2021-09-05 17:17:21 2837 10

原创 爬虫初体验

1、网络爬虫,简称爬虫,是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。2、爬虫做的事情其实和蜘蛛是类似的,所以网络爬虫也被称为网络蜘蛛(spider)。蜘蛛在蜘蛛网上爬来爬去,把触手伸到蜘蛛网获取食物,而网络爬虫则是在互联网上爬来爬去,爬取我们需要的数据。

2021-05-05 13:09:29 701

shap红外测距传感器HAL库驱动

shap红外测距传感器HAL库驱动

2023-07-26

ld14 接收雷达数据处理及转换

ld14 接收雷达数据处理及转换

2022-10-18

ESP_8266.7z

ESP_8266.7z

2021-09-07

空空如也

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

TA关注的人

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