8 张正

学生身份

我要认证

暂无相关简介

等级
TA的排名 6w+

开源Modbus 协议库---XTinyModbus

自写,支持主机,从机,下载地址:https://github.com/lotoohe-space/XTinyModbus加入qq群讨论:419833232也可到私人博客下载:http://www.iotscitech.cn/post/12XTinyModbus===A small embedded Modbus protocol stack, written in C langu...

2020-04-03 11:41:47

51单片机指令模拟器

MCS-51单片机指令模拟器,除了DA指令外,其它指令都可以模拟。实现了254条指令的模拟,并进行测试,但是测试还不够完整,只对关键指令完成测试,其它指令测试均人为检查过,DA指令还未实现,后面会实现请到我的github中,或者我的私人博客中下载,地址:http://www.iotscitech.cn/post/11https://github.com/lotoohe-space...

2020-02-23 15:50:45

自写malloc函数的实现

转向自己的博客malloc函数的实现

2019-11-28 19:55:00

动态加载新问题

中断问题:中断不知道何时回来,中断来时,r9的值可能处于不同的变量域,如果A程序中注册了中断号48,这个时候A程序调用了B程序的代码,那么变量域将切换到B程序,这时如果中断48号来临,那么将会出现变量域为B程序, 但是中断函数中缺要使用A程序变量域中的变量,必然导致死机。该问题解决办法比较麻烦,可以采用在注册中断函数时,在中间插入中断跳转函数,类似于函数重定向,中断来临时先执行中断跳转函数...

2019-11-04 14:32:53

重定向--reloc连接参数

2019-11-04 09:22:38

Zigbee 应用层协议自定义

下传://设备数量 [设备索引子设备索引设备类型设备类型值] [设备索引子设备索引设备类型设备类型值]//发送给设备的包说明//类型 长度 值//type len value//dev_index 设备索引//dev_sub_index 子设备索引//dev_t...

2019-11-01 11:06:37

zigbee 局域网配对以及设备的管理

配对流程:协调器通过串口等方式设置进入配对模式,在配对模式下,PAN ID设置为0xffff(让协调器自己决定创建的网络),然后1s发送一次广播包,广播包中包含了该协调器的MAC地址的低16bit,该低16bit将作为配对完成后的PAN ID。上电时协调器判断当前处于配对模式还是正常模式,如果处于正常模式则PAN ID设置为MAC地址低16位,如果位配对模式则设置PAN ID为0xffff...

2019-10-28 20:28:02

ZIGBEE获取本设备及父设备的IEEE64地址和短地址

第一种方法,利用NLME.h里面定义的专门API获取设备自身IEEE地址extern byte *NLME_GetExtAddr( void );获取设备自身网络地址extern uint16 NLME_GetShortAddr( void );获取父设备网络地址 extern uint16 NLME_GetCoordShortAddr( void );获取父设备...

2019-10-15 13:02:24

ZSTACK协调器掉电重新组网无法加入网络的解决

我用的是TI ZIGBEE2007的协议栈,由于之前默认对协调器编译NV_INIT和NV_RESTORE两个选项而其他节点只有NV_INIT这个选项所以每次我用协调器重新上电,所有的节点都是重新入网而且协调器并不会擦出以前的节点,而协调器是有网络节点上限的,所以基本上重新加入几次就满了,然后就不能继续加入了,关于这个问题,首先看看编译项 NV_INIT和NV_RESTORE的区别:(此...

2019-10-15 12:47:01

z-stack修改PAN ID(组网地址)

一、修改PAN ID在之前的实验中,我一直纠结于pan id的设置,有2种方法:方法1.pan_id=0x1122;//你想要的IDzb_WriteConfiguration(ZCD_NV_PANID, sizeof(uint16),&pan_id) ;zb_SystemReset();方法2:pan_id = 0x1122; _NIB.nwkPanId = p...

2019-10-15 12:35:08

zstack 组网解析

转载:https://blog.csdn.net/chenxinqiang2005/article/details/38536879

2019-10-15 12:32:28

Android xml full screen setting

<style name="AppTheme.FullScreen"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowFullscreen"&...

2019-09-20 20:55:43

如何利用mqtt服务器实现多设备,多用户的管理。

大家都知道mqtt协议最基本的思想就是发布订阅,也就是一个设备发布多个设备订阅。设备发布者发布一个主题,其它设备通过订阅可以获得主题发布者发送的消息。网关作为发布者发布两个主题:通配:dev/用户ID/公司ID/项目ID/设备MAC/#主题一:dev/用户ID/公司ID/项目ID/设备MAC/0该主题为设备订阅的主题,用来发送设备信息给用户,只能为指定设备发布主题二:dev/用户ID/...

2019-07-29 16:32:08

LAN8720 100M 掉线问题解决

最近在做一块板子的时候,使用的phy芯片为LAN8720,在使用的发现老是ping一段时间后自动掉线,从软件问题一直查找,最后发现是LAN8720掉线了,且wang网口绿灯一直常亮,拔线网线也是一样,黄灯不闪烁,且phy发热严重。问题出在本来网口电源是下面这样,但是在焊接时没有找到磁珠,就用0欧电阻代替,结果电源干扰大不稳定,换上磁珠后ping未出现网口掉线现象,发热现象明显减少。...

2019-04-10 17:20:11

STM32 晶振不起振,180Hmz跑飞解决办法

昨天在调试自己做的STM32F429IGT6核心板的时候,发现使用外部25M晶振时一直不能起振,或者所有时起振但是不稳地,程序中非常容易跑飞,换了一个8M的晶振,发现没有问题。调了一下午,最后发现是因为VCAP1,VCAP2两个引脚接的对地电容太小了,这两个管脚接电容是为了保证内部的主调压器工作稳定,如果太小会导致内部工作不稳定,程序容易跑飞等问题。我焊接的是1uF的,官方推荐是2.2uF,换上后...

2019-03-01 15:08:00

共享库与动态加载的实现

下面是对共享库与动态加载在操作系统中自己实现的一些思路,最终目的实现一个不带mmu单片机上的:具体实现如下:目前已经实现单个的共享库加载到内存的任何位置,多个共享库加载的思路如下:1)运行一个程序或者共享库。2)在程序头表中查找INTERP项,如果存在找到解释器,并运行(这里的解释器并不是去解释代码运行,而是用来重定向代码的,并不会影响代码的运行效率)3)重定向代码4)完成目前微内核需要实现如下的...

2018-06-14 21:27:48

elf .got .plt 表以及共享库加载原理,在没有mmu的单片机上实现共享库

    之前研究了在没有mmu的单片机上实现动态加载,因为之前使用的是keil编译工具,它使用的是arm公司自己开发的编译器,很多地方不好研究。其实使用gcc也是可以开发Stm32的,最近发现一个开发工具叫tureStudio,是一个利用Eclipse与gcc组合起来的开发工具,特点是使用了gcc编译器,资料多呀,特别是对于elf文件格式的与linux下基本一模一样。下面就总结一下最近研究到的东西...

2018-06-12 00:54:07

动态加载————arm 中bl指令,bl.w指令的生成代码

下面一段代码生成bl指令,在研究动态加载时,发现bl.w指令用的非常多,其实就是一个bl长跳转指令,目前动态加载以及能够实现简单的多个模块合并加载。下面就是转换的代码。u32 encoded_instruction_blw(s32 offset) { u32 bl_instruction = 0x00; u16 low=0, high=0; high |= 0x1e << 11; lo...

2018-05-29 13:39:21

在没有MMU功能的单片机上实现动态应用程序加载

在没有mmu的cpu上实现动态加载的功能。mmu:拥有虚拟地址映射的功能。在没有mmu的设备上实现动态加载是可能的,两种方法。1)我们知道局部变量占用的是堆栈的内存,全局变量和静态变量占用的是静态存储区,而静态存储区的地址是一个绝对的地址。所以要想实现动态模块的加载,我们不能够去使用全局变量和静态变量,解决方案是通过内存申请来解决。还有一个问题就是在使用函数指针的时候,其实也是一个绝对的地址,那我...

2018-05-07 20:36:50

zynq pl读写ddr 实现vga高清显示

其实通过vga显示官方有一个ip核可以用,但是我不是主要为了实现vga显示,而是为了实现如何从ps端向pl端进行大量的数据传送,经过了间断性的不断代码测试,编写,我最终实现了。下面简单说下我是怎样实现的。目的:1.实现pl读取ddr内的数据将数据转换成vga的数据流显示到屏幕上,显示大小640*4802.ps端向ddr内写入像素值,pl端能够同步转换并显示出来。3.利用axi总线实

2017-12-02 10:17:21

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。