![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
事在人wёi
这个作者很懒,什么都没留下…
展开
-
VScode给函数写注释 /**回车
出来的效果可能是这样,并不是很符合我们的要求。原创 2023-08-30 11:03:34 · 281 阅读 · 0 评论 -
安信可蓝牙PB-02 SDK二次开发记录
这时候调试才正常,P14/15置1都可以正常触发看门狗复位。板子运行起来,打印下面几行日志。但是不管怎么弄,好像都没有反应,感觉就像死机了。P14引脚置1,2s后看门狗复位。P15引脚置1,看门狗立刻复位。模式对新手开发来说是一个大坑。实时上它是进入了休眠状态。详细参考下面两篇教程。原创 2023-07-06 17:00:32 · 706 阅读 · 0 评论 -
433MHz SYN480R 解码
在空载情况下,syn480r 输出引脚,输出的是杂乱无序的波形。种地址,可以降低遥控的冲突,但是按键(4位)就只能是15个了。我手头上的遥控总共有21个按键,很明显使用4位键码肯定是不够的。根据规律,可以将前面的16位定义位地址码,后面8位为键码。按下按键,会连续输出相同的脉冲波形,放大分析。按键松开,最后一帧的末尾也有一个明显的特征。前面20位是地址码,后面的4位是键码。很多关于EV1527的资料提到。20位地址,就可以组合出。使用逻辑分析仪采集数据,原创 2023-02-17 18:03:42 · 3823 阅读 · 7 评论 -
C 位域和共用体联合使用
共用体是一种数据类型,实现在相同的位置存储不同的数据类型,但是在某一时刻只能保存一种数据。以下面的16位寄存器为例。原创 2022-10-24 10:07:20 · 370 阅读 · 0 评论 -
嵌套 JSON 对象
嵌套 JSON 对象比如,我要解释的字符串是p = {“method”:“thing.service.property.set”,“id”:“1521341546”,“params”:{“LightSwitch”:1},“version”:“1.0.0”}其中params是嵌套的对象cJSON * pSub_1 = cJSON_Parse( p )作用:将一个JSON数据包,按照cJSON结构体的结构序列化整个数据包,并在堆中开辟一块内存存储cJSON结构体返回值:成功返回一个指向内存块中原创 2020-07-16 17:51:01 · 1820 阅读 · 1 评论 -
Vscode c语言代码Ctrl+左键无法转跳到定义
前言之前是能转跳到定义,鼠标悬浮也可以看到注释随着工程越来越大,分的文件越来越多,现在已经不能转跳到定义了,只能转跳到.h上的声明C/C ++ 是必装插件,没什么可说的解决大工程无法转跳到定义方法1.安装C++ Intellsense插件2.下载GNU Global工具GNU Global工具下载链接下载不需要安装的,直接解压即可,会得到3个文件夹3.添加环境变量将 D:\APP\glo668wb\bin 添加到你的环境变量中4.回到Vscode打开settings.json设原创 2022-05-24 16:41:13 · 2888 阅读 · 1 评论 -
ESP32 VSCode ESP-IDF 分区表设置
ESP32 VSCode ESP-IDF 分区表设置文章目录一、选择自定义分区表二、分区表设置一、选择自定义分区表partitions.csv二、分区表设置官方分区表API指南# ESP-IDF Partition Table# Name, Type, SubType, Offset, Size, Flagsnvs, data, nvs, 0x9000, 0x6000,phy_init, data, phy, 0xf000, 0x1000,f原创 2022-02-27 12:27:13 · 1326 阅读 · 0 评论 -
ESP32 smartconfig ESPTOUCH AIRKISS 配网
#include <string.h>#include <stdlib.h>#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "freertos/event_groups.h"#include "esp_wifi.h"#include "esp_wpa2.h"#include "esp_event.h"#include "esp_log.h"#include "esp_system.h"原创 2021-12-29 14:28:21 · 2190 阅读 · 0 评论 -
四元数转欧拉角
四元数转欧拉角_在线测试工具在线测试C程序工具#include <stdio.h>#include <cmath>//四元数struct Quaternion{ double w, x, y, z;};//欧拉角struct EulerAngles{ double roll, pitch, yaw;};EulerAngles ToEulerAngles(Quaternion q){ EulerAngles angles;原创 2021-12-29 09:26:32 · 1750 阅读 · 0 评论 -
ESP32 LVGl8 label 显示位置 中文取模 字体颜色 背景颜色
项目场景:本例程使用的是ESP32C3,前提条件是你的Lvgl显示已经移植完成1.demo1_显示一个简单的文本void label_demo1(void){ lv_obj_t *label = lv_label_create(lv_scr_act()); lv_label_set_text(label, "abc123"); //文本内容} 2.demo2_设置文本位置void label_demo2(void){ lv_obj_t *label = l原创 2021-12-27 20:53:05 · 7002 阅读 · 0 评论 -
LIS3DH三轴加速度计-实现欧拉角(俯仰角,横滚角)
项目场景:使用的是ESP32C3模块,大家可以参考一下怎么实现LIS3DH三轴加速度计-实现欧拉角(俯仰角,横滚角)加速度->欧拉角 转换公式*pitch = (atan(acce->AcceX / sqrt(acce->AcceY * acce->AcceY + acce->AcceZ * acce->AcceZ))) * 57.3f; // *57.3f = *180/3.14*roll = (atan(acce->AcceY / sqrt(acc原创 2021-12-24 11:29:44 · 2116 阅读 · 0 评论 -
2.ESP32C3 移植 lvgl/lv_demos 教程
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obta原创 2021-11-17 16:56:41 · 5961 阅读 · 0 评论 -
FreeRTOS事件组使用
文章目录一、包含头文件/源码二、定义句柄/设置事件三、创建事件组四、等待事件位五、设置事件位六、清除事件位一、包含头文件/源码event_groups.c源代码event_groups.h头文件二、定义句柄/设置事件static EventGroupHandle_t motor_event_group; //事件组句柄const int MOTOR_START = BIT1; //启动const int MOTOR_PAUSE = BIT2; .原创 2021-10-13 13:52:33 · 272 阅读 · 0 评论 -
STM32CubeMX HAL F103 BKP备份寄存器使用
STM32CubeMX HAL F103 BKP备份寄存器使用以下是本人自己的应用笔记,如果有错误的地方,欢迎评论区指出,我会及时更正-[2021.09.28]1.需要开启RTC功能2.API调用初始化程序已经自动生成好了,直接使用下面的两个函数就可以了将num数据保存在RTC_BKP_DR1的位置uint16_t num = 0x25;HAL_RTCEx_BKUPWrite(&hrtc,RTC_BKP_DR1,num);在RTC_BKP_DR1的位置读取数据uint16_t原创 2021-09-28 16:11:54 · 2218 阅读 · 2 评论 -
#define 宏函数实现printf打印log
#define DEBUG(format, ...) \ do \ { \ printf("%s(%d):", __func__, __LINE__); \ printf(format, ##__VA_ARGS__); \ pri原创 2021-09-24 13:43:07 · 891 阅读 · 0 评论 -
keil5 最简单的方法生成bin文件
fromelf --bin -o ".\bin_file\@L.bin" "#L"重新编译之后,就可以自动生成bin文件了原创 2021-08-27 14:38:31 · 292 阅读 · 0 评论 -
STM32 HAL OTA 小白教程
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言【嵌入式实战】STM32 Bootloader 快速实现(超详细)STM32在线升级OTA,看这一篇就够啦感谢这些前辈分享的资料,在此我只是整理了前辈们的资料,然后通过通俗易懂的方法再介绍给大家,方原创 2021-07-16 16:11:55 · 1213 阅读 · 3 评论 -
STM32F4系列 HAL Flash 读写
前言注意:F0F1系列和F4系列的Flash读写操作不相同一、STM32CubeMX怎么查看芯片的Flash分布?二、擦除F4系列Flash本例程使用的是F411CEU6的型号芯片1.擦除Flash代码1.基本操作:void FlashErase(void){ int sect = 0; HAL_FLASH_Unlock();//解锁 __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH原创 2021-07-16 11:30:57 · 4034 阅读 · 2 评论 -
C语言回调函数详解[转载]
原帖出处: 勤勉之 博主回调函数:在C语言编程中,我们经常听到回调函数(callback function)一说。对于C语言新手而言,回调函数可能是一个比较难于理解的东西。今天我将通过一个实际例子,来讲解什么是回调函数,为什么要用回调函数。回调函数究竟有什么作用呢?说到这里,就有了用户和开发者之间的概念,假设,用户是实现add_ret这个函数,而开发者是实现add这个函数,现在的需求是,用户将add_ret这个函数以参数的形式传入开发者实现的add函数,add函数就会返回一个数字给用户,开发者没必转载 2020-12-31 09:28:36 · 815 阅读 · 0 评论