- 博客(201)
- 资源 (13)
- 收藏
- 关注
原创 VsCode 配置PySide6及测试
VsCode 配置PySide6及测试VSCode插件安装安装Python插件安装PySide6插件,PySide6安装PySide6配置VSCode创建UI文件测试代码运行测试参考链接VSCode插件安装安装Python插件安装PySide6插件,PySide6安装pip install PySide6 -i htt
2022-05-02 12:42:00
4806
转载 Router 选择
Connected Dominating SetExample of a Connected Dominating SetRouter 必须形成一个 CDS(Connected Dominating Set,连接支配集),这意味着:在任何两个 Router 之间都有一个 Router-only 的路径。Thread 网络中的任何一个 Router 都可以通过完全位于 Router 集中而到达其他任何 Router。Thread 网络中的每个 End Device 都直接连接到 Router。
2021-01-31 10:36:39
465
转载 网络发现与形成
Thread 网络Thread 网络由三个唯一的标识符标识:2 字节的 PAN ID(Personal Area Network ID,个域网标识符)8 字节的 XPAN ID(Extended Personal Area Network ID,扩展个域网标识符)方便人类阅读的 Network Name(网络名称)例如,一个 Thread 网络可能具有以下标识符:标识符值PAN ID0xBEEFXPAN ID0xBEEF1111CAFE2222Networ
2021-01-31 10:33:15
711
转载 尝鲜使用hpm-cli编译鸿蒙Harmonyos组件
转载:https://zhuanlan.zhihu.com/p/250465771随着HarmonyOS正式开源,HPM包管理器也应运而生。HPM全称HarmonyOS Package Manager。是一个HarmonyOS组件包管理和分发工具。HPM主要是面向设备开发者,用于获取/定制HarmonyOS源码,执行安装、编译、打包、升级等操作的工具集。Let`s go!步骤一:环境准备需要一台 Ubuntu 16.04 及以上 64 位系统(hpm是支持windows的,但是目前鸿蒙开源的三个解决
2021-01-30 15:57:34
1850
转载 IPv6 寻址
域Thread 网络中有三种域用于单播寻址:Link-Local — 所有通过单次射频传输可访问的接口Mesh-Local — 所有在同一 Thread 网络中可访问的接口Global — 所有从 Thread 网络外部可以访问的接口前两个域与 Thread 网络指定的 Prefix(前缀)相对应。Link-Local 的 Prefix 为 fe80::/16,Mesh-Local 的 Prefix 为 fd00::/8。单播单个 Thread 设备可以通过多种 IPv6 单播地址来进行
2021-01-28 00:17:24
1166
转载 节点角色和类型
转发角色在 Thread 网络中,节点分成两种转发角色:Router 和 End Device。RouterRouter 节点的行为如下:为网络设备转发数据包为尝试加入网络的设备提供安全的 commissioning 服务始终打开它的收发器End DeviceEnd Device 节点的行为如下:主要与单个 Router 进行通信不会为其他网络设备转发数据包可以关闭它的收发器来降低功耗Key Point: Router 和 End Device 之间的关系称为父子关系。En
2021-01-28 00:06:54
1151
转载 什么是 Thread?
转载自:什么是 Thread?Thread® 是一个为低功耗物联网(IEEE 802.15.4-2006 WPAN)设备设计的基于 IPv6 的网络协议。Thread 是一个新的网状网络协议,它并不依赖其它的 802.15 网状网络协议(如 ZigBee、Z-Wave 和 Bluetooth LE)。Thread 的主要特性包括:易于部署和维护 — 安装、启动和操作相对简单通信安全 — Thread 网络中的设备都必须通过身份验证,并且所有的通信都经过了加密稳定可靠 — 具有自愈能力的网状网络,
2021-01-27 23:56:23
2504
5
转载 通过Git安装STM32 Firmware Package(Hal库)及其国内镜像
通过Git安装STM32 Firmware Package(Hal库)及其国内镜像看到STM32已经将相关的STM32Cube的一些Package放到Github上,直接下载下来的.zip文件不能直接安装。如果直接从Github Clone速度又较慢。找到如下相关国内Git路径可以使用。并附上相关使用方式。STM32 Firmware Package(Hal库)国内镜像转自: https://blog.csdn.net/desert187/article/details/101234773文章目录通
2020-08-08 12:16:13
1712
原创 Ubuntu 14.04 Desktop的Raid1安装总结
安装基于Ubuntu14.04 Desktop的Raid1。由于采用UEFI/GPT方式作为系统启动方式,在安装过程中出现了很多异常情况。本文记录安装的过程。
2016-01-21 20:35:04
19353
5
原创 信号线小电阻的作用
在一块新的PCB上,测试系统能否正常运行的时候,发现系统上电后没有正常启动。 系统框图如下: 在上电的时刻,CPU A(GPIO电平2.6V)会向串口发送启动日志数据,CPU A启动后,使能CPU B(GPIO电平 3.3V)模块的电源芯片,CPU B开始工作。 经分析,发现是上电时刻CPU A的Rx接收到数据,导致CPU A进入非正常启动状态。猜想CPU A的Rx端接收到信号的原因可能为
2015-07-05 16:53:48
10763
原创 协议设计中ACK机制的影响
在TCP/IP中,延时ACK和Nagle算法。 TCP为了同时处理成块数据(通常为512字节的用户数据)和交互数据(通常用户数据比较少,例如不大于10个字节),采用了延时ACK和Nagle算法来处理他们。延时ACK: TCP在接收到数据的时候,并不立即发送ACK,而是等待一段时间,如果在此时间内,有需要发送的数据,则将ACK和数据一起发送。因为在回复ACK的时候,可以等待一段时间(大部分实现时延
2015-07-05 16:48:07
2641
原创 话说物联网操作系统
最近好多家都宣布推出自己的物联网操作系统。 1. Google将要在Google I/O大会发布的Brillo; 2. 三星推出的Artik芯片搭载Mentor Graphics的Nucleus; 3. 华为最近推出的LiteOS。Brillo从36氪的报道看“Google正在打造自己的物联网操作系统,名为Brillo,最低能在配置32MB或64MB内存的设备上运行,既适用于冰箱这样的家电,又
2015-05-29 21:56:48
4165
原创 Openwrt定制按键输入
在OpenWRT中修改一个定制的按键输入需要涉及几个地方的修改: 1. 内核修改,添加需要操作的GPIO端口; 2. 在程序中使用netlink机制借助于socket API,检测按键输入。 3. 如果只是简单的操作,可以通过修改/etc/hotplug.d/button/buttons实现。
2015-05-05 21:58:42
9213
原创 Eclipse安装Jetty插件
通过Eclipse MarketPlace安装Jetty插件。 Jetty下载1、 2、 3、 4、 5、注:在使用Jetty的时候,同一个Project中,不可以同时存在两个版本的库,否则会出现找不到jar的情况。或者运行异常。而且,如果高版本和低版本同时存在,高版本会影响低版本。 这一点,千万小心。
2015-05-05 21:47:19
16090
原创 使用LuaSocketHttp注意的地方
在使用LuaSocketHttp的时候,如果如下使用:local remoteUrl...while 1 do local response_body = {} http.TIMEOUT = 1 local status, code, response_headers = vcHttp.request { url = remoteUrl; method = "GE
2015-04-12 23:15:37
8201
原创 Lua-cjson的safe模块
在使用这个库函数的时候,最好使用2.1.0版(或者更新的)。 因为在2.1.0版新增了safe模块,在进行调用时,如果出现解析异常,不会抛出异常,而是返回Nil,这样可以避免程序意外退出。 如果直接采用cjson,如下: local cjson = require("cjson") local inputStr = '{"name":"void","br}' ... local iJso
2015-04-12 23:14:03
9314
原创 用异或来交换两个变量能提高速度是错误的
在进行两个变量的时候,经常会看到有些书误人子弟的推荐使用异或的方式:方式一{ x = x ^ y; y = x ^ y; x = x ^ y;}而不是采用临时变量实现交换:方式二{ int temp; temp = a; a = b; b = temp;}美其名曰:节省内存,提高运行速度。临时变量交换的方式:
2015-03-19 21:00:35
2707
原创 安装Meld遇到Python import socket: ImportError
1、sudo apt-get install meld2、安装完毕后,设置~/.subversion/config中,diff-cmd = meld使用svn diff的时候出现了…… File "/usr/lib/python2.7/multiprocessing/connection.py", line 39, in import socketImportEr
2015-02-02 22:23:12
4516
原创 Ubuntu下Lua开发环境安装
Ubuntu下Lua开发环境安装:1、sudo apt-get install lua2、sudo apt-get install lua5.1-0-dev注:第一条命令用来安装Lua环境,第二条命令用来安装Lua的相关头文件及库文件由于Lua的头文件安装在/usr/include/lua5.x,库文件使用locate liblua可以查找到安装路径,如下:
2015-02-02 22:21:39
25854
原创 为什么要测试先行
在产品的研发过程中,测试一项至关重要。不论是软件还是硬件。软件的测试先行,在研发过程中,就做到质量的保证,因为在出现Bug的时候,容易定位Bug,而且即使是在客户端出现Bug,也能够轻易的找到Bug出现的原因。硬件的测试先行,即保证了研发过程中,方便及时发现出现问题的原因。同时,也为以后的批量生产做好铺垫。当进行批量生产的时候,如果测试步骤过于繁琐,会造成生产效率的低下,直接影响了
2014-10-08 22:04:30
3164
原创 C语言的面向对象编程(一)
一、前言对于编程而言,重要的是解决问题的方式,而不是语言本身。面向对象与面向过程是解决问题和思考问题的方式。C语言常说是面向过程开发的语言,因为其缺少很多对于面向对象特性的支持。但,这并不影响我们采用面向对象的方式,使用C语言编程。二、基本介绍在C语言中,采用面向对象开发,有两个地方是要明白的:1、结构体,2、函数指针变量。结构体:结构体是对于内存的一种组织
2014-10-08 21:52:07
1780
2
转载 ubuntu /etc/profile和/etc/environment的比较
转自:http://blog.csdn.net/teamlet/article/details/8257853先将export LANG=zh_CN加入/etc/profile ,退出系统重新登录,登录提示显示英文。将/etc/profile 中的export LANG=zh_CN删除,将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。
2014-08-05 21:41:32
2149
2
原创 《关于字符串的内存地址》纠错
在翻以前的博客的时候,发现有篇博客里边写的有问题。http://blog.csdn.net/tietao/article/details/17014119首先以前在写关于这道面试题的想法时,将里边的变量p[]当做了字符串指针来处理,而不是字符数组,所以以前的那篇博客,对于这道题本身而言,是错解。之所以出现这种原因,是将p[] = "";通常认为这种赋值方式,用于给字符串
2014-06-14 08:13:22
1284
原创 Contiki的NETWORK层间数据传输流程
Contiki的NETWORK层之间的数据流路径:Send:Network->Mac->Rdc(->Frame802154)->RadioRecv:Radio->Rdc(->Frame802154)->Mac->Network注:在此结构中,802154应该是属于RDC层的,如果不将RDC算作一层,应该是介于Mac和Radio之间。是Mac层的出口。这也是Contiki的一
2014-06-08 22:38:49
3699
原创 Contiki的Rtime只支持一个Timer
在现有http://www.myexception.cn/mobile/1436453.html关于几个Timer的一个总结Contiki源代码中,在调用rtimer时,需要调用者获取当前的RITMER_NOW,然后在此基础上加上需要的time然后进行定时器调度。但是这样里边,如果存在多个定时任务的时候,如何处理呢?而且如果后一个定时任务的time正好小于前一个,又如何保证后一个被调用呢?在现有的
2014-06-08 21:59:23
2138
原创 用Cywgin+OpenSSH+OpenSSL搭建SSH客户端及服务器
虽然Putty,以及Cmd窗口(使用ssh),可以进行SSH连接,但是当登录到Linux后很多时候,就会碰到中文字符显示问题。而且在使用的时候,Cmd窗口的使用,总感觉不习惯。使用Cygwin+OpenSSH+OpenSSL搭建SSH的客户端和服务端,或许是一个较好的选择。。下载Cygwin后,点击安装在配置界面中,选择OpenSSH,OpenSSL。
2014-06-07 21:48:39
1650
原创 使用可靠的I2C代码
现有的STM32的I2C代码,由于没有使用STM32官方推荐的DMA+I2C中断优先级最高的方式,总感觉用着不放心。想要修改,却又不知道如何改是更好地。于是想查找I2C驱动部分处理的好的代码,参照将现有I2C部分程序重构下。在查找了一些代码库文件后,比对了现有的I2C程序,发现EFM32的I2C库代码部分处理的很完备。使用的是硬件I2C+超时处理机制。而且超时处理也有适当的处理。有可能是EFM32
2014-05-05 23:53:25
2945
2
原创 硬件改版引起的I2C异常
最近公司有一款新版硬件,在测试时发现原有的I2C通信测试程序运行失败,从I2C从设备RX8025中无法读取到数据。使用示波器的时候,也无法在时钟线SCL上看到时钟信号。但是在测试数据线SDA的时候,偶尔能看到一些数据。如果使用示波器表笔点在测试的信号线上,有时能读到正确的数据;如果不这样做,几乎看不到正确的数据。开始怀疑是否是因为测试程序本身可靠性有问题,因为在一段时间测试后发现,这种现象随机性比
2014-05-05 23:48:29
5169
原创 毕业后的文理之思
引言:某日,与同学聊天,分享疑惑与理解,录于此,共勉之。A今天跟一个当总经理的朋友,去旁听一个会。本来说,让我介绍技术能在实际中上做些什么事情。我听了大半天,突然感觉公司上的事情,技术只是一个辅助吧。B嗯,这个倒是。技术都是他们在定了我们要做什么之后才会出现的。公司上的事情,我们一开始可能只是,最后才会出现的。我们做什么,只能由他们决定。A嗯,我有这个感觉。但是,科学技术是第一
2014-04-01 07:58:20
1350
原创 关于串口复用造成的意外及总结
前两天测试人员发现,在测试运行的产品中,有两个运行不正常。于是对出现异常的产品进行了重点检测。开始怀疑是产品中的无线模块信号不好,造成一段时间后就连接断掉。于是使用了一个测试好用的无线模块,测试发现测试产品运行效果和原来一样,还是比较异常。而且观察产品的数据通信指示灯,感觉闪灯很不正常。没有数据交互的情况下,485通讯指示灯经常闪烁。而且无线模块通讯指示灯反而长时间没有点亮。为了验
2014-03-15 10:04:17
4744
原创 否定自己
很多时候,我们发现原有的知识或者观点,很有可能错误。尤其是当徘徊于错误与正确之间的时候。如果这个时候我们还认为自己的观点是正确的,那么我们寻找证明正确的时候,就会选择性的屏蔽了有可能证明其错误的材料。于是当我们寻找了一段时间后发现我们看到的都是证明其正确的材料。因为我们在选择材料的时候,无意识的选择了一条路,而这条路上有的都是证明我们已有观点正确的材料。那么我们就会强化已有的观点,而这
2014-03-11 23:45:46
1083
原创 单片机串口设置的问题
最近测试涉及到底层串口代码的修改。经过这次修改,突然发现其实自己对于串口的一些特性以前并不是十分清楚。首先遇到的一些问题:1)在使用IO的数据位的时候,没有考虑校验位所占的位数。2)在设置串口输入的时候,使用悬空输入。关于1),在一次使用STM32串口参数9600,N,8,1与另一个 8051MCU通信的时候发现偶校验没有问题,但是无校验通信就出现异常。但是,当将STM32
2014-03-11 23:44:38
5682
原创 TortoiseSVN SVN的Merge操作
在使用TortoiseSVN SVN进行Merge操作的时候,一开始不理解三个参数。造成了很长时间也没有Merge成功的情况。对于Merge的选项意义及操作记录如下:选择将要合并到的目标,然后右键找到合并命令Merge在弹出的框中,Working Copy是合并要输出的结果From选项中选择初始版本的URLTo选项中选择最终修改后的版本,选择好之
2014-02-15 18:44:58
10888
原创 进程间通信——信号量、互斥锁等的异同
进程间通信——信号量、互斥锁等的异同最早接触在系统上编程,是在嵌入式Linux上完成几项功能。当时就是按照写单片机程序的思维写的。实现几个功能,就用了一个进程,单线程来做。后来实习时,接触Linux下多进程,多线程的编程。了解到多个线程之间的操作需要进行同步,互斥等。在工作后,有进行了uCOS的多任务编程。发现uCOS中的多任务的同步,互斥与Linux下有很多相似性。但
2014-01-14 23:39:07
11703
原创 开发中的新理解——成长在2013
开发中的新理解——成长在2013今年在公司里,收获很多。从很多方面,都一个新的认识。因为参与公司的几个项目。有的是维护原有代码,有的是从需求开始,从0做起,有的做了一半,因为调整不做了,有的刚开了个头,因为其他项目需要暂停了。每一个项目,做的程度都不一样。但是每一个项目,都让自己对于完成一个项目,有了更深的认识。也慢慢在改变自己以前那种学校式的研发状态。由一开始想从每一个项目中学习新技术,
2013-12-28 10:15:38
3739
2
原创 为什么需要物联网和大数据?
一批产品,装配过程中,发现装配很慢。一开始想办法提高装配速度,但是发现究其原因是元件间的尺寸造成装配人员,装配过程消耗时间。由于,外壳,连接线,电池,以及电路板之间尺寸的配合有问题,使他们不能很顺利的完成一次装配。单独来看,每一个元件都是完好的,都是没有问题的。但问题就是它们之间,不能彼此配合很好。问题本源在于,设计时没有考虑到彼此间的协作。此时要求装配人员提高装配速度,只能是扬汤止沸,而不是釜底
2013-12-25 23:04:01
3060
原创 关于MCU使用操作系统的一点看法(续)
因为在连接时,全局变量和局部静态变量都是在data区,所以在这里给放一起讨论了。在原文中自己的表述犯了一个错误,就是初始化的全局变量或者局部静态变量,是占用生成的可执行文件大小。而未初始化的全局变量和局部静态变量,不占实际文件大小,但是在执行时是分配RAM空间的。这一点,是原来写博文的时候,弄混淆的一点。所以对于RAM而言,局部静态变量和全局变量消耗是一样的。所以,就像你在回复中说的,预约了全局变
2013-12-23 21:46:08
4441
原创 从实践理解设计
因为参与公司的一个项目对于一个产品的开发过程中的流程有了一个进一步的理解。对于电子产品设计的内容,包含软件设计,硬件设计,模具设计,各种元件的选择。设计是从一个产品的角度出发,进行各个部分分块后局部设计。对于设计这一段的理解如下:关于设计:从测试的角度做设计;从生产的角度做设计;从维护的角度做设计;从使用的角度做设计;设计是对各种需要元素
2013-12-22 22:41:04
1028
JLink_Windows_V650b-2019.exe.txt
2019-10-11
ZigBee 测试建议书
2019-01-14
pc_lint工具
2014-02-28
pc_lint(Vers. 9.00j)
2014-01-02
gsmmux-alpha-r3.tb2
2012-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人