- 博客(51)
- 资源 (19)
- 问答 (1)
- 收藏
- 关注
转载 Mac上macdeployqt的SVG图片无法显示问题
设置了QSS样式带有SVG图,在Debug 模式下SVG显示正常 但是在Release 模式下SVG没有显示。链接:https://www.jianshu.com/p/481609fbd4a6。商业转载请联系作者获得授权,非商业转载请注明出处。QT 5.15.2 Windows 编译的可静态执行程序。在*.pro文件中添加以下代码,可以解决。
2023-10-16 14:57:09
241
原创 c 快速取众数
#include <stdio.h>#include <stdint.h>/* * 快速取众数 * 注意:四个的时候取3个数的众数,获取前连续两次的众数 * len 数字长度 * Ia,Ib,Ic,Id 待取的四个数 * 返回上述四个数中的众数*/uint32_t get_mode(uint32_t len,uint32_t Ia,uint32_t Ib,uint32_t Ic,uint32_t Id){ switch (len) { case 1
2022-05-12 16:06:40
438
原创 高效内存分配机制
Efficient_memory_allocation高效内存分配机制 由于需要在单片机上使用malloc,但自带的malloc机制速度太慢且需要还需要配置堆,当某些代码需要使用这个功能时候就需要对应的单片机打开,这样不利于模块与平台的解耦。 不知道为什么系统自带的malloc耗时居然和申请的内存大小成正比,这个在小数据申请的时候倒没什么,但是当要高速申请大内存时候就懵逼了,而且在pc上感觉不出来,但是在MCU这种单片机上使用的时候就感觉出来了,故此我自己写了一个开源的高
2021-11-08 19:41:36
251
原创 log2的快速算法
在某些不需要那么高精度的log2函数,单要求高速的地方,可以使用以下方法来减少log2的运算量,但精度只有0.02,若要增加精度,需要把flog2map的长度增加,该表由注释部分代码生成。当表修改后,对应的“temp = (temp>>15)&0xFF;”也需要修改。比如,当表长为32时候,就是temp = (temp>>18)&0x1F;因为32需要5bit来表达18 = 23-50x1F = 0b 0001 1111#include <stdio
2021-11-05 18:10:53
4972
原创 组合键 AD按钮分布
在并联AD按钮中,只要分压电阻满足Rx<1∑i=0x−11RiR_{x}<\frac{1}{\sum_{i=0}^{x-1}\frac{1}{R_{i}}}Rx<∑i=0x−1Ri11即可实现AD按钮的组合键。
2021-10-23 18:11:30
766
原创 c 实现 时间与标准时间戳的相互转换
#include <stdio.h>#include<string.h>typedef unsigned long long int _time_t;#define TIMEZONE 8 //时区定义,东正 西负typedef struct __tm { int tm_sec; /* 秒 – 取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int tm_hour; /* 时 - 取值区间为[0,23]
2021-10-18 15:34:09
2469
转载 C 实现FFT与IFFT
说明 本代码根据网上的例程整理,具体出处已无从考察库代码FFT.h#ifndef __FFT_H_#define __FFT_H_#ifdef __cplusplusextern "C"{#endif#include <math.h>#define PI 3.1415926535897932384626433832795028841971f //定义圆周率值typedef struct compx {float real,imag;}
2021-07-30 18:08:38
1324
原创 关于MCU上C语言结构体作为参数的使用
//一个工具结构体typedef struct{ int start;// int len;//长度 char data[1024];}message_t;//第一种声明方法void my_fun(message_t msg){ //注意此种方法message_t会先放到栈中,所以当你的栈分配的不够的时候会导致奇奇怪怪问题 //注意此方法修改结构体内部值不会影响到外面 ...}//第二种声明方法void my_fun(message_t *msg){
2021-07-22 18:11:57
186
原创 git 用于版本管理
git rev-parse --short HEAD %获取最新提交的短哈希%git rev-list --count HEAD %获取最新提交的顺序索引%git log --oneline -1 %获取最新提交的备注%git describe --tags --abbrev=0 %获取最新提交的tag%
2021-06-30 09:36:24
128
原创 用C语言实现FIFO (简单版
#include <stdio.h>#include <windows.h>#define fifo_max 110 //分配给fifo的空间,设置为2的n次幂可以快速求余int fifo_top; //队顶指针int fifo_bot; //队底指针int fifo_size;//队长度char fifo_buff[1000];//缓冲区/** * @brief 初始化FIFO * @retval 无 */void fifo_init(){
2021-06-10 16:52:41
7411
原创 Git 版本控制 创建带版本头文件
说明此脚本在window下使用,创建两个文件,将其复制到对应git工程根目录下即可使用,直接运行version.bat就可以了。文件version.h#ifndef __Version_H__#define __Version_H__#define VersionHash $VersionHash$#define VersionCount $VersionCount$#define VersionInfo "$VersionInfo$"#define Version
2021-06-03 17:48:26
349
原创 ArduPilot 开发环境安装
环境安装注意:建议用能够上google的网安装,否则容易出奇奇怪怪的问题。必要编译工具sudo apt-get install git zip qtcreator cmake build-essential genromfs ninja-build exiftool make cmake libc6-i386sudo apt-get purge libc6-devsudo apt-get install libc6-devsudo apt-get install libc6-dev-i386
2021-05-20 20:54:30
1618
原创 取消C/C++的结构体对齐
第一种方法#pragma pack(push) //保存对齐状态 #pragma pack(1)//设定为4字节对齐 typedef struct app_config { u8 mic_gain; u8 volume_set; u8 channel; u8 backlight_mode; u8 mute_key; u8 para_id; u8 langue; u8 reserve; uint32_t dev_id[2]; u8 check_sum;} APP_.
2021-04-22 14:48:49
1208
原创 tinymp3 MP3编解码库的使用
tinymp3文章目录tinymp3运行截图文件说明使用流程编码器部分初始化数据编码结束编码解码器部分初始化数据解码结束解码mp3库地址tinymp3 mp3的编解码器官方demo,将mp3或者wav文件解码后重新压缩为mp3。用法:运行截图文件说明dr_mp3.h MP3文件解码与保存库dr_wav.h WAV文件解码与保存库shine_mp3.h 编码器头文件shine_mp3.c 编码器库使用流程编码器部分初始化不同PCM采样率对应的算法所
2021-04-21 10:32:22
2676
原创 Ipython 中切换目录与执行.py文件里的语句
%cd ../ 用于切换目录%pwd 用于查看当前目录%run function.py 用于运行.py文件%ls 查看当前目录文件
2021-01-25 19:23:45
386
原创 Win Path不够用 过长 的处理方法
可以新建变量Path1 和 变量Path2, 然后将Path的值分两个部分放入Path1和Path2中,最前面要加.;,Path改为%Path1%;%Path2%;注意:这里一定要用Window的编码格式,且里面不能有\r\n字符,不然会导致设置失败。特别是使用Notepad的同学,因为它里面默认是unix编码格式,复制回去编码就错了。...
2021-01-25 17:07:31
2253
原创 Matlab转c后 emxArray_real_T结构体说明
struct emxArray_real_T{ double *data; //具体数据,row-major顺序存储 int *size; //单个数据尺寸{行数,列数....} int allocatedSize; //数据个数 int numDimensions; //数据维度 boolean_T canFreeData; //是否可以自由释放,一般为否};比如3个二维数据的表就可以表述为stru
2020-09-04 20:48:07
5249
6
原创 看MOS管的小妙招
上图功能简述当EN-2为高电平的时候,Q4导通->Q3导通,LD-VCC_12V有电当EN-2为低电平的时候,Q4关断->Q3关断,LD-VCC_12V无电MOS判断技巧箭头方向为电平控制方向,箭头为正电平则MOS状态改变(动作状态),箭头为0或负电平则MOS状态不变(默认状态)。牵头前的线(红色框选中的部分)表示默认导通情况,实线表示默认状态导通,虚线表示默认状态断开。箭头方向为寄生二极管方向。无视控制脚位,按照稳压二极管的接入方法接入剩下两个脚。注意MOS的驱动认电压.
2020-08-24 15:06:11
1376
原创 linux 查看当前文件夹下文件占用内存
linux 查看当前文件夹下文件占用内存此命令可查看文件内存也可以查看文件夹内存root@linaro-developer:/usr# du -sh ./*50M ./bin4.0K ./games19M ./include337M ./lib888K ./local4.3M ./sbin145M ./share4.0K ./src80K ./testslinux 查看当前内存使用情况root@linaro-develo
2020-07-06 09:51:59
8767
原创 STM32 使用 SHT2x 温湿度传感器
简介这TM的是个超级坑的通讯过程,虽然符合SPI通讯流程,但要是你直接用SPI通讯会发现完全不是这么回事。这个是在STM32F0系列单片机上使用的范例,可以正常读取温度和湿度,只写了主机模式。database.h 里面没啥东西,可以直接用#include "stm32f0xx.h"代替代码SHT2x.h#ifndef SHT2x_H#define SHT2x_H//-------...
2020-04-27 15:49:45
2138
10
原创 宏连接define构建函数名
#include <iostream>using namespace std;void My_add(int a,int b){ printf("%d \n",a+b);}void My_cut(int a,int b){ printf("%d \n",a-b);}#define User(x,a,b) My_##x(a,b)int main()...
2020-04-15 10:19:00
4341
转载 Qt 调试时监视数组变量或数组指针
在右边的变量窗口双击出现watch窗口,两种方法:(1)输入(类型[长度])*数组名,如(int[10])*temp就可以查看。(2)输入数组名+@+数组长度,比如temp@10,就是查看temp[10];12...
2020-04-08 14:01:26
2420
4
原创 const int * ,int const * 以及 int * const 的区别
const int * ,int const * 以及 int * const 的区别const int * p; //保护p内容,常量的 int类型指针pint const * p; //保护p内容,int类型的 常量指针pint * const p; //保护p地址,int类型的 指针常量pconst在的左边,保护内容const在的右边,保护地址由于保护地址,所以在初始化的时候就需...
2020-04-08 10:31:04
878
原创 Python3 查看GPU信息
# -*- coding: utf-8 -*-"""Spyder EditorThis is a temporary script file."""#pip install nvidia-ml-py3import pynvmlpynvml.nvmlInit()handle = pynvml.nvmlDeviceGetHandleByIndex(0)# 这里的0是GPU idm...
2020-01-28 15:46:00
2896
2
原创 C++ 编写多线程类 类的多线程封装
在C++开发中,每个类均是一个对象,讲系统分化为对象开发能使系统结构清晰明了。但是C++原生开发中因为没有现成的多线程类可以继承,因此有必要自己写一个多线程的类,要求足够独立,自动创建与回收线程,线程可以执行开始,停止操作,故此总结网上现有资源,自己写了一个简单的多线程类。h文件#ifndef APPSERVE_H#define APPSERVE_H#include <iostr...
2019-11-20 10:55:48
659
原创 风级诀 快速判断风级
在外面调试经常需要判断风级,总是拿个测量仪特别不方便,网上的比较长,所以自己总结了一个用。写的不好勿怪哈!! 风级诀烟先动、觉有风。红旗展、纸片翻。小树摇摇、行路难。迎风难度、树折腰。飞沙走石、房屋倒。识风度级、逐步高。...
2019-09-29 15:05:50
954
原创 STM32F042 CAN使用例子
代码如下:#include "mycan.h"//CAN初始化//tsjw:重新同步跳跃时间单元.范围:1~3; CAN_SJW_1tq CAN_SJW_2tq CAN_SJW_3tq CAN_SJW_4tq//tbs2:时间段2的时间单元.范围:1~8;//tbs1:时间段1的时间单元.范围:1~16; CAN_BS1_1tq ~CAN_BS1_16tq//brp :波特率分...
2019-09-25 17:01:47
6984
5
原创 bxl类型封装转换为AD库封装
1 安装ULib下载地址:https://webench.ti.com/cad/ULib.zip下载完成后一路默认绿灯即可。2 加载bxl3 选择输出库的格式选择ad库,其他库全部取消4 生成中间件点击Export to Selected Tools按钮,输出中间件,随后会弹出报告,打开报告中的位置。位置的最后一项就是中间件日期。5 用ad打开UL_Import.PrjSc...
2019-09-11 12:41:43
5200
原创 Qt QPixmap QImage 图片的等比例缩放到指定大小
QPixmap pixmap(path);//pixmap=QPixmap::fromImage(imgShow);pixmap = pixmap.scaled(152, 76, Qt::KeepAspectRatio, Qt::SmoothTransformation); // 按比例缩放ui->logo->setPixmap(pixmap);fromImage可以将QI...
2019-07-18 17:37:24
14962
1
原创 python 生成 MicroPython的mpy库
实验环境:win电脑使用python 3.4.4,掌控版使用的是MicroPython v1.0.1-241-ged66773 on 2019-01-26,实验成功相关资料mpy-cross 官网资料Linux 下使用的论坛TPYBoard MicroPython 固件开发教程使用mpy-cross工具生成mpy文件mac os下编译mpy_cross实验步骤:1 PC下载mpy-...
2019-04-10 15:19:48
4052
8
原创 ubuntu 查看USB对应的串口
dmesg | grep ttyconner@conner-W65KJ1-KK1:~$ dmesg | grep tty[ 0.000000] console [tty0] enabled[ 4.599129] usb 1-6.2: ch341-uart converter now attached to ttyUSB0[10141.352899] ch341-uart tty...
2019-04-03 17:48:42
9108
原创 MAVLINK 请求参数和接收参数
if (decodeState == 1){之后是放在mavlink消息解析后面。//请求返回参数配置列表void MavDebug::on_pushButton_3_clicked(){ mavlink_message_t msg; mavlink_msg_param_request_list_pack_chan(mysysid, ...
2019-02-15 17:44:11
1801
1
原创 检测飞控是否处于Bootloader状态
描述在地面站连接飞控时候,若飞控处于Bootloader状态则需要等待飞控进入正常后再打开串口连接。方法依据qgc源码对Bootloader状态检测:bool SerialLink::_isBootloader(){ QList<QSerialPortInfo> portList = QSerialPortInfo::availablePorts(); if(...
2019-01-17 15:12:46
913
Python的matplotlib绘图入门示例
2018-02-08
OpenCv例子
2013-07-29
推荐Windows驱动学习相关资料
2022-08-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人