自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

原创 LiteOS移植过程中的常见错误

STM32F401CCU6移植华为LiteOS

2022-05-07 22:27:17 181

原创 STM32F401CCU6移植华为LiteOS

STM32F401CCU6移植华为LiteOS

2022-05-07 22:22:16 920

原创 开始前准备

STM32F401CCU6移植华为LiteOS

2022-05-07 21:39:46 719

原创 QT在QPlainTextEdit和QTextEdit中paintEvent无法绘制

paintEvent无法绘制使用QPlainTextEdit和QTextEdit重载paintEvent重新绘制时,出现了一下的报错QWidget::paintEngine: Should no longer be calledQPainter::begin: Paint device returned engine == 0, type: 1通过Google和百度,发现一堆都是别人抄的,通过观看别人开源的代码和官方的文档,试验后发现在paintEvent中只需要 //添加这句话 QPa

2022-02-10 23:02:55 195

原创 Archlinux树莓派3.5inch Lcd屏幕

树莓派3.5inch Lcd屏幕驱动(Archlinux)根据archwiki的说法并结合[link]LCD屏幕的驱动可以收集到以下的信息:#需要开启pwm,也就是声音输出的参数:dtparam=audio=onaudio_pwm_mode=2hdmi_force_hotplug=1#打开i2cdtparam=i2c_arm=on#打开spi:device_tree_param=spi=on#使能uart串口enable_uart=1#使屏幕旋转90dtoverlay=tft35a

2020-12-25 14:37:42 192

原创 树莓派archlinux音频输出折腾

安装alsa-utils alsa-toolssudo pacman -S alsa-utils alsa-tools按照archwiki的说法, 安装完成后如果linux的版本大于4.4.x,需要在/boot/config.txt中加入:dtparam=audio=on如果是通过HDMI输出音频,则需要添加:hdmi_drive=2如果通过3.5mm耳机输出音频,则需要添加:audio_pwm_mode=2注意:使用cat /proc/asound/cards可以看到Headpho

2020-11-27 22:41:28 401

原创 ngx之ngx_list

nginx实现了ngx_list这个容器,思路很简单,而且使用起来方便。ngx_list.h:#include <ngx_config.h>#include <ngx_core.h>typedef struct ngx_list_part_s ngx_list_part_t;struct ngx_list_part_s { void *elts; ngx_uint_t nelts; ngx_list_pa

2020-08-15 17:10:10 71

原创 nginx的数据结构之nginx_buf

nginx的数据结构之nginx_bufstruct ngx_buf_s { //可以参考ngx_create_temp_buf 函数空间在ngx_create_temp_buf创建,让指针指向这些空间/*pos通常是用来告诉使用者本次应该从pos这个位置开始处理内存中的数据,这样设置是因为同一个ngx_buf_t可能被多次反复处理。当然,pos的含义是由使用它的模块定义的*...

2020-08-14 21:55:00 210

原创 nginx之ngx_rbtree

nginx实现了一个红黑树的容器提供使用,定义在ngx_rbtree里面,这个容器相对简单,提供了插入,删除,初始化等方法。ngx_rbtree.h://ngx_rbtree_key为unsigned int或者int类型typedef ngx_uint_t ngx_rbtree_key_t;typedef ngx_int_t ngx_rbtree_key_int_t;typedef struct ngx_rbtree_node_s ngx_rbtree_node_t;struct

2020-08-12 21:10:35 98

原创 红黑树的一些理解

红黑树规则结点是红色或黑色根结点是黑色每个叶子结点都是黑色的空结点(NIL结点)每个红色结点的两个子结点都是黑色(从每个叶子到根的所有路径上不能有两个连续的红色结点)从任一结点到其每个叶子的所有路径都包含相同数目的黑色结点红黑树插入节点(插入后需要进行平衡)插入红黑树时将插入的节点设置为红色插入时红黑树为空树,则直接把插入结点作为根结点就行,并把插入结点设为黑色。若插入结点的Key已存在,既然红黑树总保持平衡,在插入前红黑树已经是平衡的,那么把插入结点设置为将要替代结点的颜

2020-08-12 21:09:16 146

原创 nginx之ngx_queue

ngx_queue.h:#include <ngx_config.h>#include <ngx_core.h>#ifndef _NGX_QUEUE_H_INCLUDED_#define _NGX_QUEUE_H_INCLUDED_typedef struct ngx_queue_s ngx_queue_t;//队列的两个节点prev和nextstruct ngx_queue_s { ngx_queue_t *prev; ngx_queue_t

2020-08-03 12:14:20 76

原创 nginx之ngx_slab

nginx通过自己实现的slab机制来减少内存的碎片化。而nginx的slab机制相对于linux内核的slab机制就显得相对的简单。通过nginx可以更快的理解slab机制。ngx_slab.h:typedef struct ngx_slab_page_s ngx_slab_page_t;struct ngx_slab_page_s { uintptr_t slab; ngx_slab_page_t *next; uintptr_t p

2020-08-02 13:32:05 176

原创 nginx之nginx_shmtx(锁机制)

nginx使用共享内存来进行进程间通信,那么就需要一把锁来确保进程通信的正确,在nginx中通过判断操作系统是否支持相应的锁来进行选定锁的类型,分为:原子锁信号量互斥锁文件锁(互斥锁)自旋锁(多处理器时使用)ngx_shmtx.h:typedef struct { ngx_atomic_t lock;#if (NGX_HAVE_POSIX_SEM) //定义使用信号量 ngx_atomic_t wait;#endif} ngx_shmtx_sh_t;type

2020-07-22 17:49:00 526

原创 nginx之ngx_palloc

nginx通过内存池来管理所申请的内存,通过维护内存池,保证程序执行的效率以及避免造成内存泄漏。ngx_palloc.h:#define NGX_MAX_ALLOC_FROM_POOL (ngx_pagesize - 1)#define NGX_DEFAULT_POOL_SIZE (16 * 1024)#define NGX_POOL_ALIGNMENT 16#define NGX_MIN_POOL_SIZE

2020-05-29 19:26:24 495

原创 nginx之ngx_radix_tree

nginx之ngx_radix_treengx_radix_tree.h://ngx_radix_node_t的定义:typedef struct ngx_radix_node_s ngx_radix_node_t;struct ngx_radix_node_s { ngx_radix_node_t *right; ngx_radix_node_t *left; ngx_radix_node_t *parent; uintptr_t val

2020-05-21 18:32:43 119

原创 nginx之ngx_hash

nginx之ngx_hashnginx使用了开放地址法解决哈希冲突/** *先看nginx里面对hash每个元素的定义: */typedef struct { void *value; u_short len; u_char name[1]; } ngx_hash_elt_t;这里使用了一个技巧,使用了零长数组,当申请的内存被value和len占据相应的size后,剩余的内存对于name来说可以使用。

2020-05-20 12:13:02 98

原创 nginx的数据结构之nginx_array

nginx_arraynginx内部自己实现了许多数据结构,这些数据结构是nginx项目的基石。一、nginx_arrayarray是nginx实现的一个最基础的数据结构,其类型可以是根据自己的需要进行定义。详见<nginx_array.h>中的:typedef struct { void *elts; ngx_uint_t nelts; ...

2020-03-31 14:52:26 77

原创 nginx配置出错问题

nginx配置出错问题[^1][emerg] getgrnam("*****") failed in /etc/nginx/nginx.conf:3一般出现这种问题应该是没有添加用户,可以使用cat /etc/passwd|grep *确定是否已将用户加入,没有的话使用 useradd ** -M 这个命令添加也有可能是配置中的user [user] [group],nginx默认将无指...

2020-03-29 14:08:36 658

Windows下串口调试助手

可以查看单片机的串口输出,使用方便

2022-05-07

BreedEnter.zip

一款自动检测路由器是否刷入breed,如果有刷入可以选择自动进入breed 使用方法:将网线插入电脑和路由器,启动程序即可检测

2020-04-08

极1s openwrt

极1s的固件,用户为root,密码admin,刷完后进入192.168.1.1,如果失败请确定电脑的IP地址设置是否有问题

2019-02-13

空空如也

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

TA关注的人

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