自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 C语言实现优先队列

优先队列(堆)是允许至少下列两种操作的数据结构:Insert(插入),它的工作显而易见的,以及DeleteMin(删除最小者),它的工作是找出、返回和删除优先队列中最小的元素。 如同大多数数据结构那样,有时可能要添加一些操作,但这些添加的操作属于扩展的操作,而不属于图1所描述的基本模型。 使操作被快速执行的性质是堆序(heap order)性,由于我们想要快速地找到最小元因此最小元应该在根上。应用这个逻辑我们得到堆序性质。在一个堆中,对于每一个节点X,X的父亲中的关键字小于(或等于)X中的关键字(这种堆叫做

2022-06-16 18:02:21 681

原创 C语言实现堆数据结构和基本操作

总有一种在垃圾堆里刨食的感觉,为了让垃圾堆里多一些有用的东西,我特意写了这个文章。主要是一些堆的实现。本文章的代码是从别的地方抄来的,如果原作者不希望代码放在这里,请联系帖主删除帖子。运行效果:.........

2022-06-16 02:05:17 297

原创 execl()函数出现warning: null argument where non-null required (argument 2)问题解决

使用 execl(path, NULL); 出现错误:cc httpd.c -pthread -o tinyhttpd.raphttpd.c: In function ‘execute_cgi’:httpd.c:282:9: warning: null argument where non-null required (argument 2) [-Wnonnull] 282 | execl(path, NULL); | ^~~~~httpd.c:28...

2022-05-30 14:14:49 2278

原创 UNIX 互斥锁和条件变量的使用例程

使用条件变量和互斥锁实现线程同步条件变量(cond)使在多线程程序中用来实现“等待--->唤醒”逻辑常用的方法,是进程间同步的一种机制。条件变量用来阻塞一个线程,直到条件满足被触发为止,通常情况下条件变量和互斥量同时使用。一般条件变量有两个状态:(1)一个/多个线程为等待“条件变量的条件成立“而挂起;(2)另一个线程在“条件变量条件成立时”通知其他线程。互斥锁的作用:1. 保护共享数据。 再并发机制的情况下,有时候会有多个线程同时访问同一片数据,为了保护数据操作的原子性就使用互斥锁来保证数据.

2022-05-26 21:38:39 214

原创 C语言带颜色和函数名还有行号打印

c语言编程中经常希望调试信息能带有所处在的行和函数名信息,另外还需要比较显眼。用c语言的宏配合printf就可以实现这个想法。#include <stdio.h>/*#define DBG_PRINT(format, arg...) do { fprintf(stdout,"%ld,%d,[flash_sn]--- "format"\n",\ get_current_time(),getpid(),## arg);} \ */

2022-05-26 17:01:20 326

原创 system v信号量实现进程间通信的实例

system v信号量实现进程间通信的实例

2022-05-24 21:35:08 117

原创 epoll()实现的tcp回射服务器和客户端

epoll实现的tcp回射服务器

2022-05-20 14:10:27 305

原创 UART串口TX模块的Verilog实现和testbench代码

如图所示.本串口TX模块包含 input clk_div, // 时钟信号输入 input [7:0]TX_data, //待发送的数据 input TX_EN, // 发送使能信号,上升沿有效 output reg idle, // TX信号线的状态,idle 高电平表示忙碌,低电平表示空闲 output r...

2019-06-26 22:22:21 5341 3

原创 Verilog实现的UART串口 RX模块与testbench代码

如图所示.本串口RX模块包含 RX信号线,时钟Clk、 接收完成标志 rdsig ,数据错误dataerror(奇偶校验),格式错误(停止位)、数据接收结果dataout[7:0]。 基于这样的结构。以下是模块的Verilog实现代码,其中一些变量名有所改变:UART_RX:`timescale 1ns / 1ps////////////////...

2019-06-25 23:34:43 4512 4

原创 「干货」PCB设计妙招,Altium Designer快速调整丝印和修线的方法

嵌入式系统攻城狮 2019-01-15 01:10:49  调整丝印字符的快捷命令在旧版本的Altium Designer里面,调丝印时经常会碰到器件、走线铺铜等物体和丝印位号在同一个位置导致不好选择的情况,以前一般是先将其他所有物体都锁定了以后再去调整丝印位号,这也是不是最方便的。现在有了一种新的方法可以轻松的调整丝印的位置。首先,我们来新建一个移动文本的命令。关于设置系...

2019-01-29 14:20:01 4066

原创 Altium差分布线和等长方法

差分线是高速PCB设计的一个重要内容,在PCB设计时逐个设置网络差分对是非常麻烦的。为了提高效率,本文介绍一种方法批量设置差分线和布线规则。高速PCB差分线首先从PCB菜单里找到Difference Pairs Editor。PCB菜单中找到 Difference pairs菜单Add按钮可以添加单个差分对,比较简单,这里不详细介绍。添加单个差分对输入单个差分对的网络名点击菜单中的Create F...

2018-06-11 19:37:02 53264 3

原创 AD设置过孔的方法(via templates)

      复杂的PCB设计任务常常需要使用两种或以上的过孔。本文介绍高版本Altium软件里新增的via templates,via templates的实质就是将过孔标准化。使用via templates可以在布线添加过孔、焊盘和铜皮打孔时选择需要的过孔。比如某PCB需要孔径为8mil、盘径16mil的过孔和孔径为10mil、盘径18mil的过孔,就可以使用via template,另外还可以...

2018-06-06 12:29:38 89742 4

原创 Altium、Allegro输出电路板(PCB)装配图方法

PCB设计完成后常常需要输出产品的零件装配图,本期内容为大家展示主流PCB设计软件Altium和Cadence Allegro输出装配图的3个方法。   原创:今日头条 / 周围發电子工作室Altium输出装配图的方法有两种,Cadence Allegro输出装配图的方法有一种,下面为大家详细介绍。1.使用Altium的装配图输出功能这个是最简单,最直接的方法。以下面一个双面板为例演示:1.打开f...

2018-05-01 18:14:24 19989 1

AD18入门教程(简易)

AD18的简易入门教程,简单介绍AD18的新特性,快速入门。

2018-06-06

空空如也

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

TA关注的人

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