自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (20)
  • 收藏
  • 关注

原创 C语言实现彩色log输出,教你配置颜色分明的日志

前言c语言实现一下日志输出容易吗?容易。要多久?10分钟。一、准备工作终端工具:SecureCRT 8.7https://download.csdn.net/download/m_pfly_fish/20056079二、安装SecureCRT1.根据压缩包中的安装教程进行安装2.设置crt相关配置:session options是指设置当前会话(当前连接的这个shell起效)的选项global options...

2021-07-07 14:27:35 1346

原创 C语言代码规范

1 排版1-1:程序块要采用缩进风格编写,缩进的空格数为4个。1-2:相对独立的程序块之间、变量说明之后必须加空行。1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。1-4:不允许把多个短语句写在一行中,即一行只写一条语句。1-5:if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少

2021-03-31 17:13:26 545

原创 C程序设计(第四版)学习笔记

1.for语句for (fahr = 0; fahr <=300; fahr = fahr + 20) 第一部分是初始化部分,仅在进入循环前执行一次,第二部分是条件部分,如果结果值为真,则执行循环体,此后将执行第三部分,增加步长。...

2020-11-01 14:08:07 415

原创 ESP32学习笔记(1)—— 搭建开发环境、编译烧录 hello world 工程(基于rtos sdk 3.3.2)

前言ESP32 是一套 Wi-Fi (2.4 GHz) 和蓝牙 (4.2) 双模解决方案。sdk版本:v3.3.2此次实验是在 Windows 10 系统下利用虚拟机安装Ubuntu 16.04系统,并在此系统中进行开发编译和下载固件。一、准备工作此实验需要准备以下软件1.Ubuntu 16.04系统:系统搭建方法可以看我的另一篇文章https://blog.csdn.net/m_pfly_fish/article/details/1048722862.工具链(用于...

2020-09-28 04:27:58 1058

原创 IAR使用技巧

iar中的快捷键:(在英文输入法内使用,搜狗输入法下用不了)1.选中多行后注释快捷键: Ctrl+K2.取消多行注释快捷键: Ctrl+Shift+K3.在多个文件中搜索:Ctrl+Shift+F

2020-06-03 20:11:56 355

原创 虚拟机搭建Ubuntu16.04系统

前言Ubuntu16.04是一个比较常用的Linux系统,很多芯片的开发环境都是基于这个系统搭建,所以专门写一个博客来介绍怎么搭建系统和其中需要注意的地方一、准备工作此次实验必须准备以下软件VMware Workstation 15直接从官网下载或者使用我下好的:官网下载地址:https://my.vmware.com/web/vmware/info/slug/desktop...

2020-03-15 02:35:47 1638 1

原创 NRF52832学习笔记(2)—— 添加DFU功能(基于SDK15.3)

前言SDK版本15.3评估板:pca10040在uart的例程中添加DFU功能,使用s132的协议栈,因为官方的BootLoader工程用的是s132的协议栈。一、准备工作在开始实验之前必需先准备一下软件:gcc-arm-none-eabi-7-2018-q2-update-win32.exe由于使用加密的dfu需要用到micro-ecc库进行签名验证,需要micro_e...

2020-02-14 02:49:34 2668 1

原创 NRF52832学习笔记(1)—— 添加自有service(基于SDK15.3)

前言:SDK版本15.3评估板:pca10040在uart的例程中添加battery service添加之前,手机连上设备之后扫描到的service如下:一、分配ram空间softdevice的flash code是确定,但ram是不确定,和sevice的多少以及以下几个宏有关:#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 //一共...

2020-02-06 22:56:39 2807

原创 SourceTree 添加github用户名称和密码

前言:之前不小心把sourcetree中的github账号删了,找了好久才找到怎么添加账户,在这里备份下。一、修改默认用户信息选择工具->选项在一般选项框内修改默认用户信息和ssh客户端配置(我用的是ssh协议的验证方式,如果用http的协议验证的话不需要配置)用户信息一般保存在C:\users\Administrator\.gitconfig中ssh配置文件就是...

2020-02-05 01:34:57 9476

原创 Simplicity Studio开发环境安装

一、安装IDE官网下载最新版本的ide:https://www.silabs.com/products/development-tools/software/simplicity-studio该地址包含windows、mac和linux 3个版本。下载完成后右键点击安装,一路下一步。推荐安装至默认路径:C:\SiliconLabs\SimplicityStudio\v4...

2020-02-04 00:58:56 8663 5

原创 zigbee入网过程分析(mac层分析),附Ubiqua抓包

普通开关、插座、门锁设备入网流程一般到basic就结束了;灯到identity结束;低功耗传感器设备一般到IAS zone结束。设备入网流程如下:1.beacon request由endpoint发出,请求入网,设备一般会全信道扫描找网。beacon request包括:帧头(Header) 负载(Payload) 帧尾(Footer)1.1 帧头(Header)...

2020-02-01 20:05:26 5145 8

原创 Zigbee和WiFi的信道重叠

前言之前在做zigbee面板开发,在进行设备批量入网时遇到一个问题,同样的设备固件和网关固件,同一批次的硬件设备,2个网关之间设备批量入网的成功率会差非常多。一台网关在20信道组网,9个面板都能入网成功,一台网关在26信道组网,9个面板的入网成功率很低,经常出现只有2,3个设备入网的情况。然后来查下zigbee和wifi的信道重叠问题。一、Zigbee联盟推荐的信道我们知道Wifi、Z...

2020-01-16 14:51:38 1282

原创 NRF52系列开发环境搭建

前言本博客使用keil ide和15.3版本的sdk作为环境进行nrf52832芯片开发官方写的软件开发指导书链接:https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_getting_started%2FUG%2Fcommon%2Fnordic_tools.html&cp=1_0_1官方的开发者社区:https...

2020-01-09 14:28:46 1345

原创 NRF51系列开发环境搭建

一、安装KEIL MDK关于MDK的安装没有什么特别的,只需要按照步骤安装即可,不懂请GOOGLE一下。我这里使用的是Kei_MDK_5.23版本,建议不要改安装目录,默认c盘。keil MDK工具:https://pan.baidu.com/s/1Gzr8RgmrFLovKj0GYlNttg二、安装device pack安装上述keil之后,你会发现软件提示你缺少pack,...

2019-12-25 13:43:17 1398

原创 ZIGBEE抓包工具Ubiqua使用介绍

一、软件安装Ubiqua 软件下载链接:https://download.csdn.net/download/m_pfly_fish/12050973二、安装CC2531抓包驱动驱动软件下载链接:https://download.csdn.net/download/m_pfly_fish/12047810三、软件使用1.添加Dongle设备2.设置zigbee抓...

2019-12-23 21:34:46 2743 1

原创 github连接报"ssh: connect to host github.com port 22: Connection timed out"错误

1. 异常在连接github时,执行”ssh -T [email protected]” 命令时,出现ssh: connect to host github.com port 22: Connection timed out2. 解决方法 出现这个异常原因为本地分支没有与远程的分支关联起来。解决方法为:git push -u origin master在推送master分...

2018-08-09 16:06:40 885

转载 22.操作标签

如果标签打错了,也可以删除:$ git tag -d v0.1Deleted tag 'v0.1' (was f15b0dd)因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。如果要推送某个标签到远程,使用命令git push origin &lt;tagname&gt;:$ git push origin v1.0Total 0 (d...

2018-07-27 17:54:58 136

转载 21.创建标签

在Git中打标签非常简单,首先,切换到需要打标签的分支上:$ git branch* dev master$ git checkout masterSwitched to branch 'master'然后,敲命令git tag &lt;name&gt;就可以打一个新标签:$ git tag v1.0可以用命令git tag查看所有标签:$ git tag...

2018-07-27 17:39:36 111

转载 20.标签管理

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。Git有commit,为什么还...

2018-07-27 17:28:39 125

转载 19.Rebase

在上一节我们看到了,多人在同一个分支上协作时,很容易出现冲突。即使没有冲突,后push的童鞋不得不先pull,在本地合并,然后才能push成功。每次合并再push后,分支变成了这样:$ git log --graph --pretty=oneline --abbrev-commit* d1be385 (HEAD -&gt; master, origin/master) init hel...

2018-07-27 17:27:01 162

转载 18.多人协作

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。要查看远程库的信息,用git remote:$ git remoteorigin或者,用git remote -v显示更详细的信息:$ git remote -vorigin [email protected]:michaelliao/lea...

2018-07-26 17:32:20 111

转载 17.Feature分支

软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船。于是准备开发:$ git checkout -b fea...

2018-07-25 16:06:39 143

转载 16.Bug分支

软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交:$ git statusOn branch devCh...

2018-07-25 15:18:43 101

转载 15.分支管理策略

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下--no-ff方式的git merge:首先,仍然创建并切换dev分支:$ git checkout -b devSwit...

2018-07-25 14:10:26 128

转载 14.解决冲突

人生不如意之事十之八九,合并分支往往也不是一帆风顺的。准备新的feature1分支,继续我们的新分支开发:$ git checkout -b feature1Switched to a new branch 'feature1'修改readme.txt最后一行,改为:Creating a new branch is quick AND simple.在feature1...

2018-07-25 11:45:56 156

转载 13.创建与合并分支

在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定...

2018-07-24 17:16:45 114

转载 12.分支管理

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导...

2018-07-24 16:48:51 111

转载 11.从远程库克隆

上次我们讲了先有本地库,后有远程库的时候,如何关联远程库。现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。首先,登陆GitHub,创建一个新的仓库,名字叫gitskills:我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README....

2018-07-24 16:24:45 110

转载 10.添加远程库

现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:在Repository name填入learngit,其他保持默认设置,点击“...

2018-07-24 15:25:28 112

转载 9.远程仓库

到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了。可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方。没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别。为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Gi...

2018-07-23 17:56:13 114

转载 8.删除文件

在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:$ git add test.txt$ git commit -m "add test.txt"[master b84166e] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt一般情况下,你通常直...

2018-07-13 15:26:15 106

转载 7.撤销修改

自然,你是不会犯错的。不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行:$ cat readme.txtGit is a distributed version control system.Git is free software distributed under the GPL.Git has a mutable index called stage.G...

2018-07-13 15:02:25 118

转载 6.管理修改

现在,假定你已经完全掌握了暂存区的概念。下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。为什么说Git管理的是修改,而不是文件呢?我们还是做实验。第一步,对read...

2018-04-24 16:16:32 110

转载 5.工作区和暂存区

Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先来看名词解释。工作区(Working Directory)就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我...

2018-04-24 15:55:59 131

转载 4.版本回退

现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下:Git is a distributed version control system.Git is free software distributed under the GPL.然后尝试提交:$ git add readme.txt$ git commit -m "append G...

2018-04-24 15:25:04 94

转载 3.修改提交

我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容:Git is a distributed version control system.Git is free software.现在,运行git status命令看看结果:$ git status# On branch master# Changes n...

2018-04-23 16:37:21 172

转载 2.创建版本库

什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:$ mkdir learngit$ cd learngit$ pwd/Users/micha...

2018-04-23 15:22:03 105

转载 1.安装Git

最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。在Windows上安装Git在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可。安装完成后,在开始菜单里找...

2018-04-23 15:06:49 130

原创 安卓UI布局常见警告

Set android:baselineAligned="false" on this element for better performance如果LinearLayout被用于嵌套的layout空间计算,它的android:baselineAligned属性应该设置成false,以加速layout计算android:baselineAligned="false"

2015-08-19 16:08:39 569 1

原创 如何设置View不可见

可见(visible)XML文件:android:visibility="visible"Java代码:view.setVisibility(View.VISIBLE);不可见(invisible)XML文件:android:visibility="invisible"Java代码:view.setVisibility(View.INVISIBLE);隐藏(GONE)XML文件:an

2015-08-18 10:13:46 374

SecureCRT8_7.rar

SecureCRT8_7.rar

2021-07-07

SecureCRT8_7.rar

SecureCRT8_7.rar

2021-07-07

SecureCRT8_7.rar

SecureCRT8_7.rar

2021-07-07

esp-idf-v3.3.2-20200622.zip

esp32 v3.3.2版本idf,用于进行esp32开发必备的sdk,内部含有api库和编译用的makefile脚本文件

2020-08-22

coreutils-5.3.0.rar

官网下载的coreutils,5.3.0,for Windows 64位版本,开发必备,在nrf52832的dfu实验中用到

2020-02-13

python-2.7.12.amd64.rar

官网下载的Python,2.7.12,for Windows 64位版本,开发必备,在nrf52832的dfu实验中用到

2020-02-13

make-3.81.rar

make-3.81版本,Windows系统的gnu编译器(gcc),执行make用,在编译nrf52832的micro_ecc_lib_nrf52.lib时用到

2020-02-13

gcc-arm-none-eabi-4_9-2015q3-20150921-win32.rar

4_9-2015q3 版本的gcc编译器,在15.3版本的nrf52832 sdk中用于编译生成micro_ecc_lib_nrf52.lib

2020-02-13

gcc-arm-none-eabi-4_9-2014q4-20141203-win32.zip

4_9-2014q4 版本的gcc编译器,在15.3版本的nrf52832 sdk中用于编译生成micro_ecc_lib_nrf52.lib

2020-02-13

gcc-arm-none-eabi-7-2018-q2-update-win32.rar

7-2018-q2-updata版本的gcc编译器,在15.3版本的nrf52832 sdk中用于编译生成micro_ecc_lib_nrf52.lib

2020-02-12

NordicSemiconductor.nRF_DeviceFamilyPack.8.24.1.rar

keil ide中的device pack文件,内含nrodic发布的ble相关芯片,开发必须,要不然sdk内的例程无法编译

2020-01-09

nrf52系列sdk_15.3.0.rar

nrf52系列sdk,15.3.0版本,内含s112,s132, s140 softdevices,开发nrf52832芯片必备sdk源码

2020-01-08

NordicSemiconductor.nRF_DeviceFamilyPack.8.14.1.rar

keil ide中的device pack文件,内含nrodic发布的ble相关芯片,开发必须,要不然sdk内的例程无法编译

2019-12-25

nRF5_SDK_12.3.0.rar

nrf51系列的ble sdk,12.3版本,51系列芯片的最高版本,开发必选,内含开发实例和技术文档

2019-12-25

nrfgostudio.rar

nordic的官方flash下载工具,支持nrf51系列和nrf52系列芯片,可以解锁flash被锁问题的芯片

2019-12-25

Ubiqua zigbee 抓包工具.rar

zigbee抓包工具 ubiqua 1.4版本,最好配合使用cc2531 dongle,简单易学,对zigbee网络开发事半功倍

2019-12-25

CC2531_USB_dongle 驱动文件

cc2531 usb dongle 驱动文件,配合cc2531 usb dongle硬件一起使用,可以抓取空中的zigbee数据

2019-12-23

simplelink_cc2640r2_sdk_3_20_00_21.exe

TI CC2640R2系列芯片的3.2版本协议栈,其中具有全部的CC2640R2的SDK和示例,BLE开发的必须sdk。

2019-11-27

Mesh_Model_V1.0.1.rar

蓝牙联盟最新发布的蓝牙mesh v1.0.1是无线蓝牙mesh开发工程师的首选开发资料

2019-10-22

Outline-Client-for-window.exe

Outline 本身基于现有的开源 V.P.N 软件 shado.wsocks。不同于 shado.wsocks 需要一系列复杂的服务器配置和加密密钥生成步骤,Outline 的易用性在于将整个安装实现自动化:配置仅需几次点击,仅需几分钟。

2019-10-11

Outline-Manager-for-window.exe

Outline 本身基于现有的开源 V.P.N 软件 shado.wsocks。不同于 shado.wsocks 需要一系列复杂的服务器配置和加密密钥生成步骤,Outline 的易用性在于将整个安装实现自动化:配置仅需几次点击,仅需几分钟。

2019-10-11

TI 蓝牙芯片CC2650数据手册

TI官方中文中文版,CC2650蓝牙芯片中文数据手册

2016-03-22

空空如也

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

TA关注的人

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