自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 时域和频域的简单理解

简单理解 信号系统中的频域

2023-02-20 17:03:35 4933

原创 时域和频域的简单理解方法

理解频域

2023-02-16 10:30:57 1989

原创 Python pywifi ERROR Open handle failed 的问题

这个问题的网上的资料很少,可能是因为简单吧。这里记录下解决办法。直接上引发问题的代码:wifi = pywifi.PyWiFi() #定义接口操作iface = wifi.interfaces()[0]这两行代码实现了是获取系统的无线网卡句柄的功能。可以看到后续的所有WIFI操作不管是连接还是端开都是在通过操作 iface 这个句柄整个句柄来完成的但是切记,不管你是想去做暴力破解某个WIFI,还是想做什么WIFI连接测试,不要把这两行放在循环体里。在整个的循环过程中,保证这

2021-11-19 21:58:58 8887 7

原创 linux下建立软链接及搜索并修改软链接

参考博客:https://blog.csdn.net/m290345792/article/details/78518360http://www.04007.cn/article/737.html本文主要介绍linux下建立软链接 , 重定向软链接及搜索当前目录下的所有软链接linux下建立软链接的命令:ln -s[源文件或目录] [目标文件或目录]eg:ln -s /tmp/aaa.sh /home/link //在home下创建一个名为link的软...

2021-01-26 11:53:39 2736

原创 static_cast和dynamic_cast的区别,看完这篇你就懂了!

看了很久了这两个到底是怎么回事,终于今天幡然悔悟。还是要多读书呀。在C++ primer plus的15章第5节里有介绍:1 dynamic_cast : 书上主要有两个地方说明白了用途:dynamic_cast运算符的用途是,使得能够在类层次中进行向上转换仅当Low是High的可访问基类时,下面的语句才会将一个Low*指针赋给pl:pl = dynamic_cast<Low*>ph ; //说明下其中ph是派生类指针,pl是基类指针否则,该语句将空指针....

2020-12-26 10:50:12 10166 1

原创 Effective C++ 学习笔记条款2之 为什么要尽量避免使用#define

test

2020-10-22 12:07:38 145

原创 《UNIX网络编程v2》的源码资料地址

<<UNIX网络编程v2>>书中的头文件和代码的下载地址:https://github.com/unpbook/unpv13e解压压缩包后看到的README或者该网页往下拉均可以看到详细的安装和编译步骤.

2020-09-24 09:13:15 120

原创 由void *data[ ]引发的思考

最近在某个代码的函数原型中遇到了形如void* data[ ] 的参数类型表述,在这里兜兜转转了很久,终于在多番查阅资料后解决了一些困惑,特此记录。void *data[ ]是个什么鬼?1、先来解决形如type *name[ ]的问题。 这里有一个比较实在的推断方法int buf[48] ,指的是一个数组有48个元素,每个元素都是int类型char buf[48],指的是一个数组有48个元素,每个元素都是int类型 ......需要注意先表述元素个数再表述元...

2020-09-15 18:00:39 842

原创 查看linux系统支持的signal类型及编号

通过执行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) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM16) SIGSTKFLT

2020-09-14 09:15:50 1560

原创 编程中交换两个数的方法及优缺点分析

参考博文:https://blog.csdn.net/oppo62258801/article/details/94145386常用的编程中交换两个数的方法有如下三种:1、中间变量交换法2、位异或法3、相加相减法需要注意的是在实际的封装函数过程中,值传递的方式是单向的,不能实际的返回我们需要的交换后得到的两个结果,因此本文中的示例代码都通过传指针的方式来实现实际交换两个数1、中间变量交换法 特点:引入一个中间变量交换两个数的值; 评价:实际使用过程中,这个版本是最...

2020-09-13 10:37:11 780

原创 Ubuntu16.04 安装更新gdb9.2调试工具

参考博文:https://blog.csdn.net/qq_36490086/article/details/85246107本文主要是参考上述博主的文章的安装方法安装最新的的gdb9.2的步骤:wget http://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.xztar -xf gdb-9.2.tar.xz cd gdb-9.2/ 此时我们位于解压出的源码的目录,需要在当前目录下创建一个build目录以执行configure脚本,具体步骤如下:

2020-09-11 17:34:27 2738

原创 在linux上安装python3-pytoml

不需要用pip,直接使用sudo安装即可:sudo apt-get install python3-pytoml资料来源:https://installlion.com/ubuntu/yakkety/universe/p/python3-pytoml/install/index.html

2020-03-10 15:58:16 693

原创 linux 控制台模拟双击打开文件之xgd-open 命令----创建快捷方式

参考原文链接:https://www.cnblogs.com/zqb-all/p/10666474.htmlxdg-open用法非常简单,就直接参数传入要打开的文件,等效于鼠标双击打开,系统会根据文件类型自动调用对应的程序xdg-open xx.docxdg-open xx.mp3xdg-open xx.jpg也就是是说只要在ubuntu上通过鼠标双击能打开的文件,都可以终端控制...

2019-11-05 09:52:41 1172

原创 记一次手贱删除ubuntu自带python后出现的各种问题

搞开发环境真是富有戏剧性的过程,本来你只想拆个钉子,结果你却不知道钉子在柱子上,钉子拆完了,柱子倒了,眼看着房子摇摇欲坠,马上就要重装系统了...这个主要是在使用gdb调试的时候遇到什么Prefix。。等三行;具体遇到的问题如下:/var/lib/dpkg/info/python3-minimal.postinst: 5: /var/lib/dpkg/info/python3-min...

2019-10-09 08:54:21 3126 1

原创 ubuntu18 提示libpng.so.0找不到的问题

问题描述:在安装SecureCRT软件时提示error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory。问题原因:系统版本过高导致不再支持该库解决办法:更新安装源,增加该库的安装源并更新安装即可打开系统源更新文件,增加该库...

2019-09-18 15:13:45 3684

原创 C语言中的定义和声明

参考链接:https://blog.csdn.net/mantis_1984/article/details/53571758如有侵权请联系我删除。定义:指的是在代码中定义一个变量、函数,定义的最显著的一个特征是,执行定义后,编译器会在内存中分配一块内存给所定义的变量或函数, 如执行int a ,b,c= 0;都会在内存中分配一定的空间以存放这几个变量。声明...

2019-08-15 09:41:10 1610 2

原创 nRF52832与nRF 52840 支持的BLE5.0特性对比

博文:https://mp.weixin.qq.com/s/SDwMtitcQ9EidJrARJb3YQ提到蓝牙联盟SIG给出了蓝牙5的三大特性:1. 4X 距离2. 2X 数据吞吐量3. 8倍 广播数据而通过研读52832和52840的brief,我们可以看到各自的蓝牙特性支持如下:nRF52832:可知52832共支持BLE5.0的两个特性(2倍的速率和8倍的广...

2019-06-25 15:12:54 3560

转载 为什么PCM采样率一般为8khz?

原回答:https://zhidao.baidu.com/question/584934305.html划重点:1、PCM早些时候一般用于电话语音传输;2、电话语音的频率范围是从0-3.4kHz;3、根据奈奎斯特采样,只要高于最高频率的两倍,就可以实现声音不失真的还原;4、故只要采样率大于3.4k*2,即可还原电话语音5、采用8000Hz只是一种ITU(国际电信联盟)规定,...

2019-05-31 09:56:57 11316

原创 NRF52832 调试方法之 开启log打印

主要是在sdk_config.h中配置两个宏:NRF_LOG_ENABLEDNRF_LOG_BACKEND_RTT_ENABLED将这两个值 的宏定义从0改为1,然后程序中使用 NRF_LOG_INFO("test info"),即可在debug时在调试窗口看到打印的log。最后别忘了在主循环中使用:NRF_LOG_PROCESS(); 这个函数,否则也不会有打印信息出来。...

2019-05-30 10:37:51 10111

翻译 无线传输时间同步 (基于NRF52设备)

原文地址:https://devzone.nordicsemi.com/nordic/b/blog/posts/wireless-timer-synchronization-among-nrf5-devices简介: 有一些情况需要很多设备同步时钟。 一些无线协议如蓝牙对底层的射频硬件实现了优秀的抽象。这使得顶层的开发者无需关心底层的具体实现。直接调用send函数就可...

2019-05-29 20:31:50 6019 2

转载 Git版本回退

1、回退到当前提交的上一条提交:git reset --hard HEAD^执行该条命令可以回退到上一条提交,连续执行该条命令可以连续回退到上一次的提交2、回到指定的提交状态:git reset --hard commit_id其中commit_id为想要回到(去到)的版本的id,即这条指令既可向前面的版本也可以向后面的版本。/使用reset回退的好处是不会造成头指...

2019-05-23 11:55:43 121

原创 单片机与随机数

以前一直以为单片机中无法使用随机数,我也不知道自己哪里来的这种错觉。直到昨天项目上需要用到随机数,才去查了一下,竟然真可以在单片机中生成随机数,以下为一个生成随机数简单的测试demo:#include “stdio.h”#include "stdlib.h" //rand()函数和srand()函数的头文件。 #define MAX_RANDOM 80 ...

2019-05-10 09:39:25 2578 1

转载 VIM跳转到开头、结尾、指定行

VIM打开文件后,按下ESC键,进入VIM命令:1、跳转到文件开头快捷键:gg2、跳转到文件结尾快捷键:shift+g3、跳转到指定的xx行数: xxgg,如跳转到52行,则执行52gg即可。4、另外有两个方便的跳转文件开头和结尾的快捷键:即键盘上的 ‘ [’ 和 ' ] ' ,即左中括号和右中括号: 跳转到文件开头:按两下 左中括号键:[[ 跳转到文件...

2019-05-05 15:52:40 11576

转载 VIM设置查找字符高亮显示及取消

1、vi打开用户根目录, vi ~/.vimrc(如果没有会自动创建这一目录),这一目录是当前登录用户的vim设定,设置行号之类的操作也是在这里指定。2、输入一行 set hlsearch3、:wp保存退出,即设置完成,此时用vim打开任意文档搜索字符串都可显示高亮。4、搜索字符串显示高亮后,取消高亮的字符显示,则在执行ESC、冒号后输入noh,即可取消已搜索字符的高亮。...

2019-04-26 18:54:18 14312

转载 NRF52832的softdevice ID FWIDs

摘自:https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/README.md升级打包的时候会用的到。SoftDevice FWID (sd-req) s112_nrf52_6.0.0 0xA7 s112_nrf52_6.1.0 0xB0 s112_nrf52_6.1.1 ...

2019-04-25 11:45:31 1639

原创 NRF52832 相关资料

关于软件版本ID:https://blog.csdn.net/u010860832/article/details/89458451 (程序打包升级时需要用到版本号,如softdevice版本)关于flash大小及分布:http://www.sunyouqun.com/tag/dfu/关于NRF52832低功耗:https://blog.csdn.net/weixin_40204595/...

2019-04-25 11:34:18 842

原创 Vim实用技巧

进入Vim后,按ESC键 后再按冒号 :,可进入vim这个软件的设置模式:1、命令行模式下,输入set nu ,可显示行号2、命令行模式下,输入set list,可显示制表符3、命令行模式下,输入 !,可暂时退出当前的vim页面,返回到打开当前vim的shell窗口 或者可以直接在!后面跟着一个直接跟着需要运行的脚本(有点时候可能需要写脚本的相对路径),可在不退出当前vi...

2019-04-12 09:12:10 692

原创 bash shell的第一行实测

1、脚本的第一行一般为#!/bin/bash表示正在使用的是bash shell,第一行写这个的好处是:终端能够知道这个是脚本文件,因此能够在编辑时能够以不同的颜色突出各种关键词及变量,这样能够及时的排查语法错误。实际测试发现,第一行不写这一行也可以,但是终端就不知道这个是脚本了,因此显示来看所有的代码颜色都是一样的。但实际更改执行权限后,二者运行起来没有区别。...

2019-04-10 20:29:53 928

原创 Nordic 52832工程报错undefined reference to `__start_pwr_mgmt_data'解决办法

这个问题出现在移植官方的电源管理的例程的时候,最后出现两个报错:一个是undefined reference to `__start_pwr_mgmt_data',另一个是 undefined reference to `__stop_pwr_mgmt_data'在第二条报错中还会提示.rodata+0x04之类的东西;这两个报错在代码工程中没有具体的指向,全局搜索也搜不到这两个关键词...

2019-03-29 09:18:31 858

转载 常用Linux命令图(转载)

原博文地址:https://blog.csdn.net/morning_color/article/details/50063417一张很全的linux常用命令图,感谢作者整理如有侵权请联系我删除;

2019-03-26 10:23:57 562

转载 memmove 和 memcpy的区别

博文来源:https://blog.csdn.net/li_ning_/article/details/51418400异同点:memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容;他们的作用是一样的,唯一的区别是,当内存发生局部重叠的时候,memmove保证拷贝的结果是正确的,memcpy不保证拷贝的结果的正确。函数原...

2019-03-13 17:45:19 245

翻译 增强型ESB指南(Nordic)

注:本文译自nRF5 SDK V15.2的 nRF5 SDK-&gt;User Guides-&gt;Enhanced ShockBurstUser Guide这个指南描述了什么是ESB(Enhanced ShockBurst)以及如何在nRF5系列中使用ESB.ESB支持双向数据包通信,包括数据包缓冲,数据包确认和丢失数据包的自动重传的基本协议.ESB提供低功耗的射频传输功能...

2019-03-06 20:45:45 6107 15

原创 STM32中 中断与事件的区别

简单地说来:  相同点:中断和事件都是触发的一种,都是可以设置触发的;  异同点:      中断触发后必须有中断处理子程序IRQ handle,例如比如按键中断触发,实现一个LED的闪烁,可以在按键按下后,在中断处理程序中实现某个LED的电平反转 但在事件中,事件是没有中断处理子程序的,事件发生后,会直接发出一个脉冲信号给与之联动的操作,也可以同样实现LED电平的反转,只要有事件发生,就会有一个...

2018-06-02 10:58:27 4229

转载 inline 内联函数 的作用

首先确认inline应该是一个修饰符C中引入内联函数的目的:可以减少一些频繁调用的子函数对栈空间的消耗,如果函数可以内联,则直接在调用点就可以将函数展开,这样就省去了类似于保存现场并跳转这样的栈消耗inline 标识符 仅仅是对编译器的一个建议,是否内联,则实际由编译器决定,如果编译器认为函数能在调用点展开,就会真正内联,并不是标识了inline内联,就会一定内联。 inline 内联函数只适合函...

2018-05-30 11:38:31 649

原创 Tiny4412 启动!uboot+kernel+nfs文件系统(一)

折腾了三天,终于算是把Tiny4412这块坑爹的板子搞起来了,好在板子还是好的。可是原厂的资料,怎一个坑字了得!在此,一首凉凉送给我们的FriendlyARM.话不多说,以下干货:为了启动这块开发板,先后查阅了多方资料,包括但不限于:https://blog.csdn.net/morixinguan/article/details/50677105   http://www.cnblogs.com...

2018-05-26 09:41:19 1838 5

原创 树莓派 无法输入 # 和 @处理方法

出现这个 的原因是树莓派默认使用英国键盘布局,中国默认使用美国标准键盘布局。因此输入#会显示 欧元符合 输入@显示 ”,解决办法,可通过安装  小企鹅输入法fcitx(free Chinese input toy for x)解决,具体方法如下:1、$sudo apt-get update  首先确认当前源是最新的,不然可能会找不到源,在新的树莓派上这句指令务必需要执行。  2、$sudo apt...

2018-05-22 14:58:29 5446

原创 Linux驱动 下的 阻塞与非阻塞 I/O 学习笔记(一) 之 简介

1、是什么:        阻塞、非阻塞I/O 是Linux中我们访问 设备时的两种方式,比如访问存储设备硬盘、SD卡等等,要么阻塞访问,要么非阻塞访问   。是非0即1的关系        I/O 我们可以理解为Input  Output,当然就是数据进数据出,数据写入和读取等等类似的状态了。2、又是什么:(其实应该是为什么)     二者的区分依据:访问一种设备或者资源时,当这种设备或资源不可...

2018-05-11 09:29:09 208

原创 KEIL 工程下 编译生成 hex和 bin文件

1、生成hex(这个应该都会吧...)点击选项 按钮  如下图选择Output  然后在Create HEX file前面打钩...确定即可2、生成bin  同样点击1中所说的option  ,  然后点击User,  然后在After Build/Rebuild  下的 Run #1前面打钩,并在后面的User Command增加一行脚本命令:fromelf.exe --bin -o "%L@L...

2018-05-11 09:16:27 11045

原创 Linux设备驱动开发详解(基于4.0内核)的一些代码目录备忘。

1、#/home/baohua/develop/training/kernel  目录         该目录主要是存放了一些驱动程序源码    有四个子目录    1)./drivers  当前目录存放了书中的一些示例驱动代码,     2)./dts-demo 目录 暂未学习到,功能不详        3)./kobject 目录 存放了kobject模块的源代码         4)./pr...

2018-05-04 10:28:19 894

原创 学习方法体会。

1、百闻不如一见,听了很多次,看了很多书,不如直面代码,talk is cheap,show me your code.2、熟能生巧,再难的技术,再难的理论,只要下手去练,不要在乎次数,要在乎质量,直到真正领会为止。3、耐心到达天花板,应用类技术是有上限的,你学会一点,离天花板就会更近一点。4、学技术,学套路只是最基本的,套路只告诉你如何走路,而后的深耕才是最重要的,深耕优化、算法。当然,前提是,...

2018-05-04 10:16:45 197

CSRA64210 QFN Data Sheet.pdf

高通 CSRA64210 的芯片手册,包含芯片封装格式、各外设结构及说明。 基于经典蓝牙4.2 ,支持单麦克输入和音频输出。具体详见手册

2020-01-08

Tiny4412 zImage文件

该压缩包文件内含zImage文件和说明一份,适用于Tiny4412 1506开发板,注意是1506! 1506!1506!该zImage已关闭TrustZone模式,可搭配内附说明的uboot直接启动开发版!

2018-05-25

Tiny4412 uboot 适用于Tiny4412 1506开发板

适用开发板型号:Tiny4412/Super4412SDK 1506 ,注意,是1506!1506!1506! 内部已经生成了uboot.bin文件,可直接使用!

2018-05-25

空空如也

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

TA关注的人

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