
编程语言
daiyinger
这个作者很懒,什么都没留下…
展开
-
数组指针,指针数组
#include <stdio.h>#include <stdint.h>#define BAP_FCT_ID_MAX 64typedef struct{ uint16_t len; void *buffer;}bap_cache_buffer_t;bap_cache_buffer_t cache_info_table1[BAP_FCT_ID_MAX] = { {0,(void *)1}, {0,(void *)2}, {6,(voi.原创 2021-07-27 14:43:21 · 125 阅读 · 0 评论 -
printf相关
va_list、va_arg、va_end是为了处理变参数的函数而做的宏定义,这些定义会因为平台(cpu、操作系统)和环境(编译系统)的不同而有所不同。简单原理:编译系统编译时,会将函数的参数依次放到栈中,这样根据固定参数的地址以及固定参数给出的相关信息很容易得到可变参数的个数、类型、值。注意一点,这些或者是固定参数给出的信息,虽然不是直接给出的;或者是程序写作者自我约定。得到了可变参数,原创 2016-08-15 14:05:56 · 372 阅读 · 0 评论 -
检测进程是否存在
//检查指定进程是否存在int detect_process(const char * process_name) { int n = -1; FILE *strm; char buf[128]; sprintf(buf,"ps -e | grep -c %s", process_name);原创 2016-03-22 14:47:52 · 744 阅读 · 0 评论 -
Python 读取WAV音频文件 画频谱
Python 读取WAV文件 import waveimport structfrom scipy import *from pylab import *#读取wav文件,我这儿读了个自己用python写的音阶的wavfilename = '1.wav'wavefile = wave.open(filename, 'r') # open for writing#读取wav文件的四原创 2015-09-08 12:56:36 · 23626 阅读 · 9 评论 -
Python 绘制频谱
# -*- coding: utf-8 -*-import numpy as npimport pylab as plsampling_rate = 8000fft_size = 512t = np.arange(0, 1.0, 1.0/sampling_rate)x = np.sin(2*np.pi*156.25*t) + 2*np.sin(2*np.pi*234.375*t)xs原创 2015-09-08 13:15:19 · 15549 阅读 · 3 评论 -
Python 读取WAV文件并绘制波形图
# -*- coding: utf-8 -*-import waveimport pylab as plimport numpy as np# 打开WAV文档f = wave.open(r"1.wav", "rb")# 读取格式信息# (nchannels, sampwidth, framerate, nframes, comptype, compname)params = f.g原创 2015-09-08 13:16:29 · 22355 阅读 · 0 评论 -
C++ 匿名namespace的作用以及它与static的区别
一、匿名namespace的作用在C语言中,如果我们在多个tu(translation unit)中使用了同一个名字做为函数名或者全局变量名,则在链接阶段就会发生重定义错误,为了解决这个问题,我们可以在定义这些标识符(identifier)的时候加上static关键字修饰以限制它只在一个tu范围内可见。C++继承了C语言中static关键字的这个用途,我们依旧可以使用static来避免多个转载 2016-01-25 09:05:45 · 1452 阅读 · 0 评论 -
vs中release模式下assert中的代码不执行
vs中,加了assert中的代码在Debug模式下能执行,但在Release模式下不执行,在网上终于找到了解释。如下 _DEBUG 与 NDEBUG :当定义了 _DEBUG 时,assert() 函数会被编译,而 NDEBUG 时不被编译。除此之外,VC++中还有一系列断言宏。这包括: ANSI C 断言 void assert(int原创 2016-01-25 09:00:25 · 2189 阅读 · 0 评论 -
结构体对齐
结构体字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何 变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列, 而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因:转载 2015-10-15 16:35:55 · 364 阅读 · 0 评论 -
BLE应用
1、大屏 LED 深圳开永广告传媒股份有限公司 链接 http://www.canyunmedia.com原创 2015-09-23 13:19:11 · 434 阅读 · 0 评论 -
滤波器
无源滤波器通常是以 L-C、R-C 等无源器件组成的一种只允许通过给定的频带信号而阻止其它频率信号通过的选频网络。无源滤波器常用在旁路、平滑滤波、电源去耦以及高频滤波等电路中。在测试系统中,常用 RC 滤波器。因为在这一领域中,信号频率相对来说不高。而 RC 滤波器电路简单,抗干扰性强,有较好的低频性能,并且选用标准的阻容元件易得,所以在工程测试的领域中最经常用到的滤波器是 RC 滤波器。对各种无转载 2015-09-09 13:00:37 · 2050 阅读 · 0 评论 -
Python 将指定目录下的文件的顺序数字命名的bin文件合并为一个bin文件(数据组织)
1import osimport numpy as npf_out = open("romData.bin","wb")pad_data = [0xFF for i in range(38400)] for fileCnt in range(46): fileCnts = fileCnt file_name = r"E:\DrDaifiles\zm2\SpiF原创 2015-09-14 13:49:58 · 2489 阅读 · 0 评论 -
Python 低通滤波器
Python低通滤波器# -*- coding: utf-8 -*-from scipy import signalimport numpy as npimport matplotlib.pyplot as plimport matplotlibimport mathN = 0#500fs = 5n = []#[2*math.pi*fs*t/N for t in rang原创 2015-09-08 12:58:36 · 19999 阅读 · 0 评论 -
Java学习笔记
1、java的多线程主要包括的内容有 使用Thread类的子类创建线程(继承Thread类)、 使用Runnable接口 、线程的常用方法 、GUI线程、 线程同步、在同步方法中使用wait() notify()和notifyAll()方法、 挂起 恢复和终止线程 、计时器线程Timer、线程联合、守护线程等。2、原创 2015-09-05 14:27:12 · 357 阅读 · 0 评论