自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PETG耗材3d打印技巧

使用切片软件自带的支撑打印效果有较多的麻点且呗打印物体与支撑接触的平面表面质量不佳,平整度差。使用线形支撑(左侧)和树状支撑(右侧)的效果如下所示。以上设置可以保证在大面积打印悬空的时候有一个比较好拆又比较平整的支撑接触面。有5-6段支撑残留已使用镊子手动去除。耗材:点位科技的PETG-CF(碳纤维含量5%)黑色。支撑->与模型间隙(X/Y)1.0。支撑->与模型间隙(Z)0.14。打印机->平台温度 75℃。支撑->路径间距 2.0。支撑->支撑类型 线形。支撑->路径形状 折线。支撑->封顶层数 0。

2024-10-31 23:19:54 272

原创 记录一下乐鑫官方仓库ESP32-CAMERA,在使用esp32s3 wroom n16r8 CAM开发板时遇到的问题。

开发使用的项目地址为https://github.com/espressif/esp32-camera。官方默认配置的CAM_PIN使用会出现不断重启问题,排查后可以发现是引脚配置错误,相应的log如下所示。使用的例程为esp32-camera/examples/camera_example。开发环境为esp-idf,Linux编译下载加vscode编辑代码。硬件为ESP32-S3 WROOM N16R8 CAM开发板。使用的esp-idf版本为v4.4.3。PSRAM需要配置为下图所示。

2024-10-22 14:36:08 290

原创 分享一下esp32重启问题的排查思路

修复了两处内存释放问题后,项目的现象变更为上电重启,重启几次后正常运行,根据重启位置的log排查到是esp32蓝牙启动的位置,故在该位置添加esp_get_free_heap_size打印堆栈大小,同时对比正常运行和重启的堆栈变化,发现蓝牙正常启动时会消耗掉四五十KB的空间,但是esp32在不启动蓝牙时的剩余空间只有110KB。我的解决方案是在启动蓝牙是要进行判断,判断剩余空间是否大于100KB,即串口消息队列未占用大量内存,剩余空间足够蓝牙启动后再进行蓝牙开启。这篇博文对我的排查起到了关键性作用。

2024-06-26 16:14:26 428

原创 关于esp32下的freeRTOS学习文章汇总

本文是本人学习freeRTOS的过程中查找学习的文章,多篇文章结合着看能够互相印证加强理解。仅个人查找方便使用,有新入门的朋友也可以按照顺序进行阅读学习。

2024-02-29 12:40:15 423 1

原创 esp32 添加官方组件库中的头文件提示“No such file or directory”【已解决】

components/adf_utils/cloud_services/include/baidu_access_token.h即在set(COMPONENT_REQUIRES中添加adf_utils即可。打开main文件夹下的CMakeLists.txt文件,在set(COMPONENT_REQUIRES中添加头文件所在的组件文件夹名称。如baidu_access_token.h的文件位于。使用espadf框架下的wwe例程添加#include "baidu_access_token.h"头文件。

2023-03-16 11:21:04 3087

原创 ESP32添加.c与.h文件与CMakeLists修改

从使用keil5开发STM32转到了linux+vscode开发ESP32,在keil中添加新的元器件驱动需要添加相应的文件并添加头文件路径即可,但在ESP32中需要对CMakeLists.txt文件进行修改。在下列代码中SECS为.c文件相对于主文件的路径,INCLUDE_DIRS为头文件所在的路径。在CMakeLists.txt文件中添加完相应的路径后进行编译即可。

2022-12-08 15:47:09 2097

原创 解决ESP32 在 VScode环境下头文件无法打开的问题

我的开发环境是linux(虚拟机)+vscode+SSH,从examples/get-started/hello_word项目开始学习,在给hello_word项目中使用freeRTOS时,出现以下问题:1、大量红色下划线无法打开源文件2、和freeRTOS相关的变量找不到在vscode中搜索includePath打开相应文件添加一下语句即可这句话应该是在配置vscode的编译编写环境。添加上即可解决上述问题。

2022-12-08 12:31:42 5283 3

原创 vscode ssh连接linux虚拟机在重置虚拟机网络后连接不上的问题(已解决)

解决vscode ssh 无法登录问题

2022-10-21 10:56:23 838

原创 基于状态机与时间片轮的51电子钟设计

基于状态机、时间片轮和分层思想的51电子钟设计

2022-09-24 18:41:22 491 2

原创 51单片机按键数码管显示 时间片轮转+状态机

单片机工程分层、时间片轮和状态机思想的应用

2022-09-24 15:20:43 898

原创 ESP32在vscode+esp_idf环境下调节rtos心跳频率方法

ESP32在vscode+esp_ifd环境下调节freertos心跳频率的方法

2022-06-03 21:08:29 1680

原创 使用B站API:http://api.bilibili.com/x/space/upstat?mid=2026561407获取播放量、点赞量的返回报文中data数据缺失问题排查(已解决)

背景想要用ESP32获取一些b站上的数据粉丝量播放量等数据获取粉丝数的API:http://api.bilibili.com/x/relation/stat?vmid=2026561407获取播放量的API:http://api.bilibili.com/x/space/upstat?mid=2026561407测试的时候粉丝数使用ESP32获取成功,但是播放量的API返回数据为:{“code”:0,“message”:“0”,“ttl”:1,“data”:{}}。可以发现json字段完整但da..

2022-05-01 13:39:26 4926 3

原创 自定义帧--不同模块间使用串口进行数据交互

笔者的实验平台为STM32和AIR724UG,这两款芯片一种是常用的使用C语言开发的单片机一种是基于luat os的lua开发方式的通讯模块。算是可以比较本文所论述的使用自定义帧通过串口在不同平台进行数据交互的形式,算是抛砖引玉。STM32与AIR724UG概述对于AIR724UG而言一般使用串口进行通讯,以下将介绍两种通讯协议的制订与实现方式,包含关于通讯协议通用性与帧长度之间的取舍。其中STM32使用C语言库函数编写、AIR724UG使用Lua脚本编写。一般一个数据帧包含帧头、帧长度(包个数)、

2022-04-01 10:46:16 1282

原创 合宙AIR724UG GPIO的一些坑

笔者硬件环境为飞思创的Air724UG核心板,由于项目需要增加一路蜂鸣器做报警故打算将这个模块的串口脚更改为GPIO做输出控制。打开合宙的一些例程就开始进行相应的操作。对照管脚说明就开始进行操作。错误1:lua /lua/pins.lua:56: invalid PIO operationpins.setup(pio.P0_36,0)直接修改了原本的引脚为P0_36结果发现报错,查找pins库文件后发现-- GPIO 0到GPIO 31表示为pio.P0_0到pio.P0_31-- GPIO

2022-03-26 13:01:46 5452

原创 STM32 ucos II中无法将float类型变量强制转换为void *类型的解释说明

背景:在项目制作的过程中使用ucos ii的邮箱发送函数发送float时发现float SMA;OSMboxPost(msg_sma,(void*)SMA);报error: #171: invalid type conversion错误一番查证后发现时C语言浮点类型转换成void 类型的错误改正方法为OSMboxPost(msg_sma,(void)&SMA);解释:在STM32中float类型占用4字节,而STM32中的地址也为4字节,但C语言有一个特性:变量在发生类型转换时会按

2022-03-13 17:39:30 2491

原创 ESP32 CameraWebServer例程浏览器无图像解决方法

遇到的问题:在成功使用ARDUINO ide下载完ESP32的例程后,摄像头显示初始化完成,同时串口输出相应的IP地址,在360极速浏览器中输入相应的IP成功打开页面但点击开始按钮无图像输出,更换为edge浏览器解决该问题。查找网友所述原因应该是所用浏览器内核不同导致的(没有做实验,有懂得大哥麻烦在评论区指点下)...

2022-01-24 21:36:23 2052 4

原创 ucosII 下iic 的使用问题(含解决方式)

今天在将SGP30气体传感器的代码移植到ucosii中使用时遇到了输出数据一直为65535的情况。分析现象,开始以为是硬件问题(元器件损坏等原因)使用了裸核代码进行测试,能够正常读取相应参数说明硬件正常。ucos跑死了?增加led显示任务,led显示任务正常进行怀疑是ucos在iic进行延时时运行了别的任务增加临界区,仍然无法正常读取上网查询后发现大家普遍都有这个问题研究了下正点原子的综合测试实验(在ucos下使用了iic)发现正点原子的iic代码中是没有delay_ms的同时它iic中的延

2021-12-05 23:17:44 2471

原创 ucosii消息队列学习

近期在学习ucosii的内容使用的平台为STM32F103C8T6最小系统板。今日关于消息队列的使用遇到了一些问题。基本情况:移植代码为正点原子ucosiii消息队列、信号量集和软件定时器例程。主要新建两个任务post_task用以发送信号量集get_task用以接收信号量集,两者具体代码如下:void post_task(void *pdata){ u8* p; u8 err; static u8 msg_cnt=0; //msg编号 while(1) { p=mymal

2021-10-09 22:10:27 453

原创 STM32F103C8T6移植ucosii 添加正点原子malloc.c文件后遇到Error: L6406E问题解决方式

错误描述:…\OBJ\UCOSII-1.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.data).主要原因为内存不足解决方式为:修改malloc.h文件下关于mem1内存参数的设定,将MEM1_MAX_SIZE参数从原本的40*1024改为合适的大小即可,我将这个参数改成了10 *1024,完美运行。//mem1内存参数设定.mem1完全处于内部SRAM里面.#defin

2021-10-09 11:28:32 1842 6

原创 void USART1_IRQHandler(void) 串口中断服务函数详解

本文主要分析正点原子stm32的void USART1_IRQHandler(void) 函数一下为源代码void USART1_IRQHandler(void) //串口一中断服务函数 { u8 Res;#if SYSTEM_SUPPORT_OS 如果SYSTEM_SUPPORT_OS为真支持OS. OSIntEnter(); #endif...

2019-07-01 22:36:15 17274

原创 stm32 pwm同时输出输出四道方波

stm32 pwm同时输出输出四道方波主要是在正点原子PWM输出实验的基础上修改所得原本的代码 while(1) { delay_ms(10); if(dir)led0pwmval++; else led0pwmval--; if(led0pwmval>300)dir=0; if(led0pwmval==0)dir=1; ...

2019-06-28 15:49:49 2435

空空如也

空空如也

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

TA关注的人

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