<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Behold1942的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Behold1942</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Behold1942]]></copyright><item><title><![CDATA[时域和频域的简单理解]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/129127378</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/129127378</guid><author>Behold1942</author><pubDate>Mon, 20 Feb 2023 17:03:35 +0800</pubDate><description><![CDATA[简单理解 信号系统中的频域]]></description><category></category></item><item><title><![CDATA[时域和频域的简单理解方法]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/129055784</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/129055784</guid><author>Behold1942</author><pubDate>Thu, 16 Feb 2023 10:30:57 +0800</pubDate><description><![CDATA[理解频域]]></description><category></category></item><item><title><![CDATA[Python pywifi ERROR Open handle failed 的问题]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/121431667</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/121431667</guid><author>Behold1942</author><pubDate>Fri, 19 Nov 2021 21:58:58 +0800</pubDate><description><![CDATA[这个问题的网上的资料很少，可能是因为简单吧。这里记录下解决办法。

直接上引发问题的代码:


wifi = pywifi.PyWiFi()   #定义接口操作
iface = wifi.interfaces()[0]


这两行代码实现了是获取系统的无线网卡句柄的功能。

可以看到后续的所有WIFI操作不管是连接还是端开都是在通过操作 iface 这个句柄整个句柄来完成的



但是切记，不管你是想去做暴力破解某个WIFI，还是想做什么WIFI连接测试，不要把这两行放在循环体里。在整个的循环过程中，保证这]]></description><category></category></item><item><title><![CDATA[linux下建立软链接及搜索并修改软链接]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/113176967</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/113176967</guid><author>Behold1942</author><pubDate>Tue, 26 Jan 2021 11:53:39 +0800</pubDate><description><![CDATA[参考博客:

https://blog.youkuaiyun.com/m290345792/article/details/78518360

http://www.04007.cn/article/737.html



本文主要介绍linux下建立软链接 , 重定向软链接及搜索当前目录下的所有软链接

linux下建立软链接的命令：

ln -s[源文件或目录] [目标文件或目录]

eg:


ln -s   /tmp/aaa.sh /home/link    //在home下创建一个名为link的软...]]></description><category></category></item><item><title><![CDATA[static_cast和dynamic_cast的区别,看完这篇你就懂了!]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/111657231</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/111657231</guid><author>Behold1942</author><pubDate>Sat, 26 Dec 2020 10:50:12 +0800</pubDate><description><![CDATA[看了很久了这两个到底是怎么回事，终于今天幡然悔悟。还是要多读书呀。

在C++ primer plus的15章第5节里有介绍：

1 dynamic_cast :

  书上主要有两个地方说明白了用途：


dynamic_cast运算符的用途是，使得能够在类层次中进行向上转换




仅当Low是High的可访问基类时，下面的语句才会将一个Low*指针赋给pl:
pl = dynamic_cast&lt;Low*&gt;ph ; //说明下其中ph是派生类指针，pl是基类指针
否则，该语句将空指针....]]></description><category></category></item><item><title><![CDATA[Effective C++ 学习笔记条款2之 为什么要尽量避免使用#define]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/109219369</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/109219369</guid><author>Behold1942</author><pubDate>Thu, 22 Oct 2020 12:07:38 +0800</pubDate><description><![CDATA[test
]]></description><category></category></item><item><title><![CDATA[《UNIX网络编程v2》的源码资料地址]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/108766505</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/108766505</guid><author>Behold1942</author><pubDate>Thu, 24 Sep 2020 09:13:15 +0800</pubDate><description><![CDATA[&lt;&lt;UNIX网络编程v2&gt;&gt;书中的头文件和代码的下载地址:

https://github.com/unpbook/unpv13e

解压压缩包后看到的README或者该网页往下拉均可以看到详细的安装和编译步骤.
]]></description><category></category></item><item><title><![CDATA[由void *data[ ]引发的思考]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/108598547</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/108598547</guid><author>Behold1942</author><pubDate>Tue, 15 Sep 2020 18:00:39 +0800</pubDate><description><![CDATA[最近在某个代码的函数原型中遇到了形如void* data[ ] 的参数类型表述,在这里兜兜转转了很久，终于在多番查阅资料后解决了一些困惑，特此记录。

void *data[ ]是个什么鬼？

1、先来解决形如type *name[ ]的问题。

 这里有一个比较实在的推断方法

int buf[48] ，指的是一个数组有48个元素，每个元素都是int类型

char buf[48],指的是一个数组有48个元素，每个元素都是int类型

 ......

需要注意先表述元素个数再表述元...]]></description><category></category></item><item><title><![CDATA[查看linux系统支持的signal类型及编号]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/108572326</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/108572326</guid><author>Behold1942</author><pubDate>Mon, 14 Sep 2020 09:15:50 +0800</pubDate><description><![CDATA[通过执行kill -l 列出当前系统支持的信号类型及其编号：


kill -l

列出的信号类型及编号如下:


$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT]]></description><category></category></item><item><title><![CDATA[编程中交换两个数的方法及优缺点分析]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/108559405</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/108559405</guid><author>Behold1942</author><pubDate>Sun, 13 Sep 2020 10:37:11 +0800</pubDate><description><![CDATA[参考博文：https://blog.youkuaiyun.com/oppo62258801/article/details/94145386

常用的编程中交换两个数的方法有如下三种：

1、中间变量交换法

2、位异或法

3、相加相减法

需要注意的是在实际的封装函数过程中，值传递的方式是单向的，不能实际的返回我们需要的交换后得到的两个结果，因此本文中的示例代码都通过传指针的方式来实现实际交换两个数

1、中间变量交换法

  特点：引入一个中间变量交换两个数的值；

  评价：实际使用过程中，这个版本是最...]]></description><category></category></item><item><title><![CDATA[Ubuntu16.04 安装更新gdb9.2调试工具]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/108515438</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/108515438</guid><author>Behold1942</author><pubDate>Fri, 11 Sep 2020 17:34:27 +0800</pubDate><description><![CDATA[参考博文：https://blog.youkuaiyun.com/qq_36490086/article/details/85246107

本文主要是参考上述博主的文章的安装方法安装最新的的gdb9.2的步骤：


wget http://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.xz
tar -xf gdb-9.2.tar.xz     
cd gdb-9.2/     


此时我们位于解压出的源码的目录，需要在当前目录下创建一个build目录以执行configure脚本，具体步骤如下:

]]></description><category></category></item><item><title><![CDATA[在linux上安装python3-pytoml]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/104776379</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/104776379</guid><author>Behold1942</author><pubDate>Tue, 10 Mar 2020 15:58:16 +0800</pubDate><description><![CDATA[不需要用pip，直接使用sudo安装即可：


sudo apt-get install python3-pytoml

资料来源:https://installlion.com/ubuntu/yakkety/universe/p/python3-pytoml/install/index.html
]]></description><category></category></item><item><title><![CDATA[linux 控制台模拟双击打开文件之xgd-open 命令----创建快捷方式]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/102910092</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/102910092</guid><author>Behold1942</author><pubDate>Tue, 05 Nov 2019 09:52:41 +0800</pubDate><description><![CDATA[参考原文链接：https://www.cnblogs.com/zqb-all/p/10666474.html

xdg-open用法非常简单，就直接参数传入要打开的文件，等效于鼠标双击打开，系统会根据文件类型自动调用对应的程序


xdg-open xx.doc
xdg-open xx.mp3
xdg-open xx.jpg

也就是是说只要在ubuntu上通过鼠标双击能打开的文件，都可以终端控制...]]></description><category></category></item><item><title><![CDATA[记一次手贱删除ubuntu自带python后出现的各种问题]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/93778077</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/93778077</guid><author>Behold1942</author><pubDate>Wed, 09 Oct 2019 08:54:21 +0800</pubDate><description><![CDATA[搞开发环境真是富有戏剧性的过程，本来你只想拆个钉子，结果你却不知道钉子在柱子上，钉子拆完了，柱子倒了，眼看着房子摇摇欲坠，马上就要重装系统了...

这个主要是在使用gdb调试的时候遇到什么Prefix。。等三行；

具体遇到的问题如下：


/var/lib/dpkg/info/python3-minimal.postinst: 5: /var/lib/dpkg/info/python3-min...]]></description><category></category></item><item><title><![CDATA[ubuntu18 提示libpng.so.0找不到的问题]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/100983576</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/100983576</guid><author>Behold1942</author><pubDate>Wed, 18 Sep 2019 15:13:45 +0800</pubDate><description><![CDATA[问题描述：

在安装SecureCRT软件时提示error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory。

问题原因：系统版本过高导致不再支持该库

解决办法：更新安装源，增加该库的安装源并更新安装即可

打开系统源更新文件,增加该库...]]></description><category></category></item><item><title><![CDATA[C语言中的定义和声明]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/99620822</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/99620822</guid><author>Behold1942</author><pubDate>Thu, 15 Aug 2019 09:41:10 +0800</pubDate><description><![CDATA[参考链接：https://blog.youkuaiyun.com/mantis_1984/article/details/53571758

如有侵权请联系我删除。



定义：指的是在代码中定义一个变量、函数，定义的最显著的一个特征是，执行定义后，编译器会在内存中分配一块内存给所定义的变量或函数，

 如执行


int a ,b,c= 0;

都会在内存中分配一定的空间以存放这几个变量。



声明...]]></description><category></category></item><item><title><![CDATA[nRF52832与nRF 52840 支持的BLE5.0特性对比]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/93616985</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/93616985</guid><author>Behold1942</author><pubDate>Tue, 25 Jun 2019 15:12:54 +0800</pubDate><description><![CDATA[博文：https://mp.weixin.qq.com/s/SDwMtitcQ9EidJrARJb3YQ提到

蓝牙联盟SIG给出了蓝牙5的三大特性：

1. 4X 距离

2. 2X 数据吞吐量

3. 8倍 广播数据

而通过研读52832和52840的brief，我们可以看到各自的蓝牙特性支持如下：

nRF52832：


可知52832共支持BLE5.0的两个特性（2倍的速率和8倍的广...]]></description><category></category></item><item><title><![CDATA[为什么PCM采样率一般为8khz?]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/90710933</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/90710933</guid><author>Behold1942</author><pubDate>Fri, 31 May 2019 09:56:57 +0800</pubDate><description><![CDATA[原回答：https://zhidao.baidu.com/question/584934305.html

划重点：

1、PCM早些时候一般用于电话语音传输；

2、电话语音的频率范围是从0-3.4kHz；

3、根据奈奎斯特采样，只要高于最高频率的两倍，就可以实现声音不失真的还原；

4、故只要采样率大于3.4k*2，即可还原电话语音

5、采用8000Hz只是一种ITU（国际电信联盟）规定，...]]></description><category></category></item><item><title><![CDATA[NRF52832 调试方法之 开启log打印]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/90692763</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/90692763</guid><author>Behold1942</author><pubDate>Thu, 30 May 2019 10:37:51 +0800</pubDate><description><![CDATA[主要是在sdk_config.h中配置两个宏：

NRF_LOG_ENABLED

NRF_LOG_BACKEND_RTT_ENABLED

将这两个值 的宏定义从0改为1，然后程序中使用 NRF_LOG_INFO("test info")，即可在debug时在调试窗口看到打印的log。



最后别忘了在主循环中使用：NRF_LOG_PROCESS(); 这个函数，否则也不会有打印信息出来。...]]></description><category></category></item><item><title><![CDATA[无线传输时间同步 （基于NRF52设备）]]></title><link>https://blog.youkuaiyun.com/Behold1942/article/details/90673312</link><guid>https://blog.youkuaiyun.com/Behold1942/article/details/90673312</guid><author>Behold1942</author><pubDate>Wed, 29 May 2019 20:31:50 +0800</pubDate><description><![CDATA[原文地址：https://devzone.nordicsemi.com/nordic/b/blog/posts/wireless-timer-synchronization-among-nrf5-devices

简介：

 有一些情况需要很多设备同步时钟。

 一些无线协议如蓝牙对底层的射频硬件实现了优秀的抽象。这使得顶层的开发者无需关心底层的具体实现。直接调用send函数就可...]]></description><category></category></item></channel></rss>