技术整理
小虎是小蜗牛
小白在学习,记录技术成长
展开
-
hexdump记录,方便调试用
#define HEXDUMP_COLS 16void hexdump(void *mem, unsigned int len){ unsigned int i, j; for(i = 0; i < len + ((len % HEXDUMP_COLS) ? (HEXDUMP_COLS - len % HEXDUMP_COLS) : 0); i++) { /* print offset */ ..原创 2021-07-17 18:26:22 · 266 阅读 · 0 评论 -
openwrt 中移植plc S7协议
作为小白,今天又踩了很多坑。从官网下载了了S7的协议,是Linux的平台下的,为了生成自己平台需要的动态.so文件。这个是当时下载的源码 https://download.csdn.net/download/xiaohu1996/11584800这个是开始下载源码的网站,以及操作步骤http://snap7.sourceforge.net/按照上面网页提供的方法,将相应的源...原创 2019-08-20 16:57:24 · 1568 阅读 · 2 评论 -
keil + J-Link 在线调试 笔记
1 程序调试方式(1) 使用SEGGER J-Flash(J-Link)下载程序到闪存中运行。(2) 使用串口ISP 来下载HEX 文件到CPU 中运行。(3) J-Link + MDK 组合,来在线调试程序(可下载、单步调试)。下载:是将具体的文件如.axf或HEX下载到开发板的flash(SRAM)中去,在开发板启动之后就会运行所下载文件。根据运行结果再将修改的程序下至开发板中运...原创 2019-01-21 01:20:56 · 5054 阅读 · 0 评论 -
RAM ROM FLASH的介绍
RAM(Random Access Memory), 随机存取存储器。是与CPU直接交换数据的内部存储器,也叫内存。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介, 当电源关闭时RAM不能保留数据。RAM 可以进一步分为静态RAM(SRAM)和动态内存(DRAM)两大类。 静态RAM(Static RAM/SRAM):SRAM速度非常快,不需要刷新电路即能...原创 2018-12-23 20:08:04 · 253 阅读 · 0 评论 -
内存中堆,栈,静态,常量,代码区
在学习过程中有用到malloc和free函数,这两个函数是程序员用来操作堆空间的函数,比较好奇,想弄明白堆栈之间的差别,以及在程序中都是如何体现的。相关优劣性,学习了相关的知识,做一下学习笔记。栈区(stack)— 由编译器自动分配释放 ,不会出现碎片问题,存放函数的参数值,局部变量的值等。栈的大小可以设置,设置的较大,可能增加内存的开销和启动时间。它的生长方向是向下的,是向着内存地址减小的...原创 2018-12-23 16:50:17 · 216 阅读 · 0 评论 -
ESP8266 AT指令学习
1) 设置 wifi 模式:AT+CWMODE=3 //设置为 softAP+station 共存模式响应:OK2) 重启生效AT+RST响应:OK3) 连接路由AT+CWJAP="ssid","password" // 传入路由的ssid 和 password响应:OK4) 查询设备IPAT+CIFSR响应:192.168.3.106 //返回设备的 IP 地址5) 在 ...原创 2018-12-16 21:57:29 · 1181 阅读 · 1 评论 -
SimpliciTI协议栈学习1
在学习的过程中,接触了SimpliciTI的组网,便想结合自己的工程学习一下这个协议的流程。作为新手可能记录不太对,就是一个工程的笔记。为防止以后忘记,在此记录一下。这是在TI官网下载的手册中提到的内容。其中我们最主要是运用了Link 和 Join两种方式。0X02,0X03,0X20,0X21这些PORT端口。这是从TI官网手册和他的工程中的一些宏定义。这是在程序...原创 2018-11-18 15:38:00 · 680 阅读 · 0 评论 -
局部变量和全局变量,以及作用范围
在写工程文件的时候,犯了一个基础性的错误,基础不牢,地动山摇。所以通过查阅资料回顾了一些相关知识,并记录下来。防止以后再发生这种惨案。变量按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。变量按作用域分: 全局变量:在整个工程文件内都有效;“在函数外定义的变量”,即从定义变量的位置到本源文件结束都有效。由于同一文...原创 2018-11-11 13:56:55 · 43687 阅读 · 2 评论 -
stm32按键 长按 短按 函数 一
在stm32工程中,长按和短按的代码书写,调用的读取按键状态的底层函数。封装成的按键函数代码。下面是函数的头文件,和.c文件的代码。使用定时器来扫描按键。#define KEY_ON 1#define KEY_OFF 0#define KEY_NULL 0#define KEY_SHORT 1#define KEY_LONG 10#define SHORT_TIME 20...原创 2018-11-04 00:48:27 · 21546 阅读 · 20 评论 -
Any CPU X86 X64区别
对于刚接触打包程序的新手我来说,关于x86,x64,Any CPU这三个项目平台,x86平台编译出来的exe(可执行文件)或dll(动态链接库)都是32位的。x64对应的则是64位的。而Any CPU则是取决于当前的操作系统,若操作系统是32位的,则编译出来的程序就是32位的,反之编译出来的就是64位程序。 若你的启动项目,主程序和.dll是基于不同平台编写的,,则会提示“未能加载文件或程序集…或...原创 2018-10-21 11:47:27 · 8442 阅读 · 1 评论 -
关于.dll和.exe封装成一个.exe的方法总结
1.使用ILmerge DOS命令行加载。进入ILmerge 所安装的位置。/out:输出文件,/log 所依赖的文件cdC:\Program Files (x86)\Microsoft\ILMergeILmerge /ndebug /target:dll /out:C:\C.dll /logC:\A.dll C:\B.dll链接:https://pan.baidu.com/...原创 2018-10-21 01:10:56 · 10052 阅读 · 0 评论 -
C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o .\Output\w5500_gateway_17_5_18.bin .\Output\w5500
编译完成的工程出错*** Error: CreateProcess failed, Command: 'C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o .\Output\w5500_gateway_17_5_18.bin .\Output\w5500_gateway_17_5_18.axf'Run #1 地方的钩取消掉就可以编译通过...原创 2018-09-15 09:58:26 · 2950 阅读 · 0 评论 -
assert_param()函数
我们在学STM32的时候函数assert_param出现的几率非常大,上网搜索一下,网上一般解释断言机制,做为程序开发调试阶段时使用。下面我就谈一下我对这些应用的看法,学习东西抱着知其然也要知其所以然。4 断言机制函数assert_param我们在分析库函数的时候,几乎每一个函数的原型有这个函数assert_param();下面以assert_param(IS_GPIO_ALL_PERIPH(...转载 2018-09-14 20:04:20 · 11849 阅读 · 6 评论 -
stm32 工程配置文件说明
1:startup_stm32f10x_hd.s:汇编编写的启动文件,主要作用是(1)设置堆栈指针、(2)设置PC指针、(3)初始化中断向量表、(4)配置系统时钟、(5)对用C库函数_main最终去到C的世界2:system_stm32f10x.c时钟配置文件,把外部时钟HSE=8M,经过PLL倍频为72M。3:stm32f10x.h:外设相关的 ,实现了内核之外的外设的寄存器...原创 2018-09-13 22:03:17 · 2274 阅读 · 0 评论 -
转载:LORA相关参数的概念,以及相关学习资料
LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释1、扩频因子(SF) 2、编码率(CR) 3、信号带宽(BW) 4、LoRa信号带宽BW、符号速率Rs和数据速率DR的关系 5、 LoRa信号带宽、扩频因子和编码率的设定 6、空中速率作者:HowieXue针对特定应用,开发人员可通过调制扩频因子、调制带宽、纠错编码率这三个关键设计参数,对LoRa调制解调技术...转载 2018-09-16 16:21:27 · 1027 阅读 · 0 评论