自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CC2640R2F低功耗蓝牙芯片相关设计分享

CC2640 的 RF 差分线越短越好,做差分 100Ω 阻抗匹配。天线部分阻抗 50 欧姆匹配,本次设计采用了陶瓷天线 AN9520-245 减少天线面积。蓝牙芯片在底层,阻抗参考平面第三层,在天线部分下方覆铜(GND),使用嘉立创的阻抗匹配计算器计算线宽。巴伦采用分立设计,参考官方文档。ST 公司的 BlueNRG-2 BLE 芯片可采用 BALF-NRG-02D3 巴伦封装。天线部分转角做弧线。可将天线线路做包地处理,减少信号干扰。

2023-06-09 01:13:46 457 1

原创 Qt使用Keepalive机制实现断线重连

传输控制协议(TCP)存活包为可选特性,且默认关闭。存活包内没有数据。在以太网网络中,存活包的大小为最小长度的几帧(64字节)。存活时长(英语:Keepalive time)即空闲时,两次传输存活包的持续时间。TCP存活包时长可手动配置,默认不少于2个小时。存活间隔(英语:Keepalive interval)即未收到上个存活包时,两次连续传输存活包的时间间隔。存活重试次数(英语:Keepalive retry)即在判断远程主机不可用前的发送存活包次数。

2022-09-24 14:51:07 2298

原创 C++动态库调用宿主进程中的对象方法《纯虚函数的使用》

假设demo.cpp中需要用到动态库libadd.so中的某个函数,可能是,那么我们编译时就需要链接上libadd.so,gcc参数中-L./libs指定了当前目录下的libs目录为库的目录,-ladd指定了libadd.so动态库文件,注意这里并未使用全称,让编译器自动适配即可。

2022-09-24 14:49:32 481

原创 Qt使用UDP协议传输数据(分包,组包,GZIP压缩数据)

这篇文章主要的目的是讲UDP传输的字节限制以及用分包和组包去解决这个限制,本文直接将桌面截屏后传输是低效的做法,使用H.264或H.265对图像进行处理能减少传输的数据量。

2022-09-24 14:47:39 2460

原创 使用ffmpeg解码h264视频流转成QImage

【代码】使用ffmpeg解码h264视频流转成QImage。

2022-09-24 14:42:56 704

原创 H264码流NALU解析

【代码】H264码流NALU解析。

2022-09-24 14:41:16 426

原创 ❄️ GO-Snowflake

在单机系统中我们会使用自增id作为数据的唯一id,自增id在数据库中有利于排序和索引,但是在分布式系统中如果还是利用数据库的自增id会引起冲突,自增id非常容易被爬虫爬取数据。在分布式系统中有使用uuid作为数据唯一id的,但是uuid是一串随机字符串,所以它无法被排序。1bit41bit5bit5bit12bit符号位(保留字段)时间戳(当前时间-纪元时间)数据中心id机器id自增序列。

2022-09-24 14:39:12 73

原创 多线程加锁的意义与死锁

*当两个线程分别占有m2和m1时,死锁就这样发生了。**因为线程1占有了m1等待m2解锁后才能解锁m1而线程2占有了m2等待m1解锁后才能解锁m2,所以此时两个线程都被堵塞住无法继续正常执行了。当线程1占有m1时,线程2等待m1解锁**(此时线程2无法占用m2锁)**,这时候线程1继续占有m2,然后解锁m2和m1,当m1解锁后线程2才能继续执行,所以不会产生死锁。我的理解是:在单核系统中,多线程是并发执行的;在多线程开发中,如果有一个变量对多线程是可见的,那么这个变量是非线程安全的。

2022-09-24 14:37:18 539

原创 Qt中connect的第五个参数与多线程

当控制返回到接收者线程的事件循环时,将调用该槽函数。槽函数在接收者的线程中执行。:信号发出时将立即调用该槽函数。槽函数在信号发送者所在的线程中执行。这里重点关注下我加粗的部分。

2022-09-24 14:35:35 1360

原创 电机驱动ODrive组装与测试

项目地址:https://caw.guaik.io/d/31-odrive

2022-02-13 15:10:55 498

原创 Q-Learning完成迷宫任务

Q-Learning完成迷宫任务项目地址:Q-Learning完成迷宫任务 - CAWCAW的意思是鸦叫声,Guaik的Logo是一只长相奇特的乌鸦。https://caw.guaik.io/d/23-q-learning# 导入使用的包import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import animationfrom IPython.display import HTMLimport mat.

2022-02-05 14:02:57 1503

原创 使用OLED0561制作一个视频播放器

使用OLED屏制作视频播放器原帖地址:使用OLED0561制作一个视频播放器 - CAWCAW的意思是鸦叫声,Guaik的Logo是一只长相奇特的乌鸦。https://caw.guaik.io/d/22-oled0561在学习完USART串口,I2C控制OLED显示屏后想做个小作品练练手,一开始想着转码一个电影用OLED播放下看看,写着写着就跑题了,其实做一个能播放摄像头视频数据的播放器也不错。import cv2 as cvfrom PIL import Imageimp.

2022-02-02 14:26:29 1687

空空如也

空空如也

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

TA关注的人

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