自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白小白

一个快乐的小白

  • 博客(37)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

转载 分析signal函数的原型声明void (*signal(int sig,void (*func)(int)))(int)

在ANSI标准中,signal()的声明如下: void (*signal(int sig,void (*func)(int)))(int),此函数是linux中信号处理函数的原型,由于语法晦涩,很荣幸的也出现在了《C陷阱与缺陷中》,理解的难点在于void ( *signal(xxx) )(int),这里与我们平常看到的void ( *p )(int) 函数指针的写法有差异,关键点在于要...

2019-06-05 11:40:32 1791

原创 LWIP v2.1.0内存管理之内存堆管理(mem.c/mem.h)

1、内存堆相关的几个重要数据结构MIN_SIZE 是12个字节:这谁能给我说说这个最新内存字节为什么是12,想破脑袋了也布吉岛啊。内存池的链表头:LWIP中内存堆的管理的链表头中使用的 next 和 prev 是地址偏移量而不是指针,这么做的原因是在堆大小满足条件 MEM_SIZE <= 64000L 时可以起到节省内存的效果,不要问为什么,因为指针啊。。。。内存堆大小:内存...

2018-10-15 23:47:15 2346 2

原创 LWIP v2.1.0内存管理之相关宏之间的关系

一)、LWIP内存管理之相关宏之间的关系:工作比较忙,经常加班搬砖,所以自己写东西的时间就比较少了,而且由于自己是边学边写,自己看源码内容加上消化要一周,然后由于想把文档写好点,所以写东西也要一周,真是太慢了,不过慢不要紧,只要不停下,总有一天能把他写完。那谁不是说时间就像乳沟,挤挤总是有的(我是一个瘦瘦的男生,他么的怎么挤也没有啊)。。。。总的来说, LWIP 的动态内存管理机制可以有以...

2018-10-15 23:22:43 1013

原创 LWIP v1.4.1和v2.1.0的对比

一直想写点什么,又不知道要写什么,总是感觉学的很多,用的很少,学的很慢,忘得很快,但是学还是要学的,以前在学FreeRTOS的时候就学一点然后用文档记录一点,整理了点东西,当时没发出来,这会再去发出来还要重新往博客上整理,感觉比较麻烦,等到以后LWIP移植FreeRTOS的时候在一并发出来吧。所以这次学习LWIP就直接记录发出来好了,也能告诫下自己的进度,希望能坚持写下去,刚刚接触LWIP,相关介...

2018-10-06 22:43:49 12924 2

原创 zigbee协议学习之端设备关联过程抓包

关联过程:关联过程抓包分析:Beacon Request帧展开:Beacon帧展开:父节点广播的设备申明:通过关联方式加入一个网络:       加入一个设备,是两个设备的事,即子设备和待定父设备      对于子设备,首先子设备调用NLME-NETWORK-DISCOVERY.request 原语,设定待扫描的信道,以及每个信道扫描的时间,网络层收...

2018-06-07 21:27:22 2104

转载 运放参数详解

转载出处:http://blog.csdn.net/augusdi/article/details/17491579一、单位增益带宽GB        单位增益带宽定义为:运放的闭环增益为1倍条件下,将一个恒幅正弦小信号输入到运放的输入端,从运放的输出端测得闭环电压增益下降3db(或是相当于运放输入信号的0.707)所对应的信号频率。单位增益带宽是一个很重要的指标,对于正弦小信号放大时

2018-01-15 11:18:08 32607 2

转载 关于AD前面的电压跟随器

从CSDN论坛上看到一个对于AD前面电压跟随器电路的分析,获益匪浅。原址:http://bbs.csdn.net/topics/390284933R25的作用是消反射的,运放的5、6角理论上是电压相同的,且输入阻抗是无穷大!那么输入信号的电流主要是通过R28流入地,也就是输入点的电压在WK-in点形成,理论上不会有电流流入R25,如果没有R25那么信号就会100%反射到WK

2018-01-15 09:40:18 17644 2

转载 浅谈MOSFET驱动电路

MOSFET因导通内阻低、开关速度快等优点被广泛应用于开关电源中。MOSFET的驱动常根据电源IC和MOSFET的参数选择合适的电路。下面一起探讨MOSFET用于开关电源的驱动电路。 在使用MOSFET设计开关电源时,大部分人都会考虑MOSFET的导通电阻、最大电压、最大电流。但很多时候也仅仅考虑了这些因素,这样的电路也许可以正常工作,但并不是一个好的设计方案。更细致的,MOSFE

2017-12-14 16:35:06 8651

转载 stm32的存储器结构

首先,先看一下stm32的存储器结构。​Flash,SRAM寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。可访问的存储器空间被分成8个主要块,每个块为512MB。FLASH存储下载的程序,FLASH是ROM的一种。SRAM是存储运行程序中的数据,SRAM是RAM的一种。所以,只要你不外扩存储器,写完的程序中的所有东西也就会出现在这两个存储器中。

2017-11-28 19:38:59 7677

原创 PID调节之积分(D)调节

小D的作用:展望未来。微分算法: Dout=Dk*KdDk当前误差和上一次误差的差Dout微分调节输出是误差 Dk是当前误差和上一次误差的差值,这个差值表征了系统的发展趋势,这就是所谓的预判,当Dk>0时说明误差变大了,同样认为他在下一段时间也有这样的趋势,Dk时说明误差变小了,未来误差也会变小,当Dk=0时认为系统误差在未来是稳定的,通过对未来的预判,从而对系统的输出值进

2017-08-01 22:55:19 5298 1

原创 PID调节之积分(I)调节

小I的作用:回望过去。积分算法:  Iout=Sk*KiSk是某个时间段内的历史误差累计和Iout是积分调节输出是误差Sk是从系统开启的某个时刻到当前时刻这段时间里传感器返回的实际值与目标值的误差累加和,这是对过去时间中误差的累加(误差是有正有负的所以不会累加到无穷大),之所以要累加这个误差是要去判断从系统开启到现在时刻总的趋势是低于目标值还是高与目标值,如果S

2017-06-27 11:00:54 11796

原创 PID调节之比例(P)调节

把PID调节逐步分解,希望自己了解的同时,也能帮到和我一样迷茫的同学,我也是小白一个,解释的不到位还请大神拍砖,也希望和大家讨论比例算法:Err=Mk-Pk ,Pout=Err*KpErr误差值Mk目标温度Pk传感器采集的实际温度Pout比例调节输出值Kp比例系数    其中Err是目标值减去实际值得到的误差值,Pout是这个误差Err乘以一个比例系数K

2017-06-22 16:20:01 15464

原创 C语言动态封装库的建立和使用

函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。这里讲下如何使用DEV c++来建立动态封装库,步骤贴图方便理解。1、简历动态封装库2、编辑自己的封装函数,项目里自带一个参考函数3、新健的hell

2017-06-01 20:28:44 6704

原创 JFlash ARM对stm32程序的读取和烧录

本篇文章主要是记录一下JFlash ARM 的相关使用和操作步骤,读取程序说不上破解,这只是在没有任何加密情况下对Flash的读写罢了!在我们装了JLINK驱动后再根目录下找到JFlash ARM ,运行。读取Flash程序:第一步:Option-->Project Settings-->CPU下选择  Device 在下拉菜单中找到自己的芯片型号后点击确定。第二步:Tar

2017-05-06 23:07:00 38961 2

转载 Arduino IED for EDP8266编写的相关函数

原文出处:http://www.yfrobot.com/thread-11798-1-1.html直接使用arduino IDE 编译 ESP8266程序非常方便!本文将介绍其相关语法,在http://esp8266.github.io/Arduino/versions/2.1.0/ 可以找到相关文档。数字I/O口 Digital IOArduino 引脚号直接对应ESP8

2017-05-05 21:17:15 3024

原创 ESP8266接线接线说明

esp8266系列的便准供电是3.3V电压,但是可以超过一点,但是绝对不能是5V奥!!!!!!1、esp8266-01正常启动接线:CH-PD接VCC,GPIO0接VCC;烧录程序或者固件升级的接线CH-PD接VCC,GPIO0接GND;资料链接:https://wenku.baidu.com/view/1dd4347df12d2af90242e69b.html2、esp826

2017-04-28 13:30:14 77006 6

原创 ESP8266-03模块的瑕疵吐槽

1、尺寸不对那就更不要说模块的焊盘大小和间距了,在网上尽然都没有一个完整的东西,拿到实际的模块测量后实际尺寸长是17.05MM宽是12.76MM,焊盘焊盘间距2.0MM,差别还不小,丫的要知道在PCB上这零点几毫米也是很大的好不啦。2、接线没有说明,网上资料也不多,或许大家都在用ESP-01,ESP-12,ESP32了吧,反正安信可淘宝上这款片子不属于爆款系列,丫的选错了片子怪谁去呢,以前用过

2017-03-02 17:36:36 3671 3

转载 51单片机的IO口驱动能力、灌电流、拉电流、上拉电阻的选择

http://bbs.elecfans.com/jishu_403213_1_1.html(出处: 中国电子技术论坛)单片机的引脚,可以用程序来控制,输出高、低电平,这些可算是单片机的输出电压。但是程序控制不了单片机的输出电流。单片机的输出电流,很大程度上是取决于引脚上的外接器件。单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌

2017-02-04 18:03:45 3133

转载 Arduino IDE 烧录 ESP8266教程

Arduino IDE for ESP8266教程原出处:http://www.windworkshop.cn/?p=758ESP8266是现在性价比不错的Wifi模块,用了一块ESP8266-01之后感觉还行,用在数据采集器上表现还是不错的,后来看到官方出了SDK,可以用SDK修改模块的相关功能,还可以控制IO脚,在尝试了官方SDK后感觉上手略困难,没有文字教学(只有视频教学,习

2017-01-02 08:49:05 37275 1

转载 stm32 ADC全解(单次,连续DMA传输)

学习STM32的ADC转换,在开发板上写程序调试。四个任务:四个任务:1.AD以中断方式(单次)采集一路2.AD以中断方式连续采集四路3.ADC多路采集,DMA传输,DMA深度为一级4.ADC以DMA方式采集四路,每路DMA深度为28级,并滤波,说明滤波原理总结:第一个任务:ADC以中断方式采集一路ADC,通过

2016-09-26 19:44:15 22853 3

原创 memcpy()实现向数组里多次拷贝内容

#include #include "string.h"#define u8 unsigned char#define u16 unsigned int#define SEND_BUF_SIZE 52 //发送数据长度,最好等于sizeof(TEXT_TO_SEND)+2的整数倍.//加2是因为在每个字符串后插入了回车换行(\r\n)两个字符//int main(int

2016-09-23 21:45:24 9028

转载 strcpy、memset、memmove、memcpy和memccpy函数的使用和区别

原创地址:http://blog.csdn.net/Andy_YF/article/details/71012271、strcpy()原型:[html] view plain copy print?extern char *strcpy(char*dest,char *src);   用法:#inclu

2016-09-23 21:33:46 492

原创 秒转时间,时间转秒

在运用中经常会使用到数值转换为时间和周几和数值转换为日期日期的情况,刚好在学习STM32的RTC(实时时钟)中用到了,就花了点时间自己摸索了下,胡乱写了个C语言代码(万恶的C-Free5.0有时候会发神经,提示一些错误),只是能用,可能没有进过优化,不够精炼,但是很好理解这倒是真的!!!!!废话不多说,上代码!!!1、数值转换为时间和周几#include #define u32 unsi

2016-08-29 14:48:18 2437

转载 细说基姆拉尔森日期公式

转自:http://topic.csdn.net/t/20050425/23/3966336.html相关资料:http://www.cnblogs.com/xingluzhe/archive/2009/08/17/1548405.html计算给定日期星期几好象是编程都会遇到的问题,最近论坛里也有人提到这个问题,并给出了一个公式:         W=   (d+2*m

2016-08-29 14:12:16 8432 8

转载 函数指针与指针函数

1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *函数名(参数表)      int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。表示:

2016-08-26 09:40:01 230

转载 C-Free5.0破解码

对于一切不免费使用的软件,我们只能寻求破解,C-Free你一点也不Free!!!!!用户名:tianfang电子邮件:[email protected]注册码:2NnUqd3shO2agta0xNjcusfK1LXO继续享用这个软件吧!‍===========================================================

2016-08-23 21:58:39 4212 4

转载 C语言中结构体的剖析

写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢? 结构体到底怎样对齐?【结构体】有人给对齐原则做过总结,具体在哪里看到现在已记不起来,这里引用一下前人的经验(在没有#pragma pack宏的情况下):原则1、数据成员对齐规则:结构(struct或联合union)的数据成员,第一个数据

2016-08-22 15:14:19 374

转载 关于STM32发送中断的一些问题

本文转自:http://blog.csdn.net/kevinhg/article/details/40085971   (kevinhg版主的博客)SECTION 2先说TC。即Transmission Complete。发送一个字节后才进入中断,这里称为“发送后中断”。和原来8051的TI方式一样,都是发送后才进中断,需要在发送函数中先发送一个字

2016-08-15 20:14:52 6097 1

转载 nrf2401记录

这几天一直在弄2401这个无线模块,怕自己忘了在网上找了几个好的文章和讲解,盆在即忘了,也同时方便大家来取ARM学习笔记 NRF24L01的应用 第一季到第三季(你值得拥有)http://www.openedv.com/posts/list/6363.htmhttp://www.openedv.com/posts/list/6369.htmhttp://www.opened

2016-07-15 16:57:07 566

转载 51系列中data,idata,xdata,pdata的区别

dATa: 固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。idATa: 固定指前面0x00-0xff的256个RAM,其中前128和dATa的128完全相同,只是因为访问的方式不同。idATa是用类似C中的指针方式 访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idATa做指针式的访问效果很好)xdATa:

2016-07-13 09:01:51 307

转载 新型的按键扫描程序

转载:http://blog.sina.com.cn/s/blog_4d1854230101evug.html不过我在网上游逛了很久,也看过不少源程序了,没有发现这种按键处理办法的踪迹,所以,我将他共享出来,和广大同僚们共勉。我非常坚信这种按键处理办法的便捷和高效,你可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。 同时,这里面用到了一些分层的思想,在单片机当

2016-06-17 08:49:16 610

转载 I2C操作笔记——以 AT24C04为例

转载于:http://blog.csdn.net/xukai871105/article/details/15028117   1.前言    对于大多数工程师而言,I2C永远是一个头疼的问题。相比UART和SPI而言,I2C的时序要复杂一些,I2C组合变化也丰富一些。在这里以AT24C04为例说明I2C使用过程中的一些注意点。2.AT24C04操作示意图

2016-03-07 17:11:50 859

转载 ADC转换时间计算

ADCK-代表AD时钟,他由ADICLK决定,可以是总线时钟、总线时钟/2、备用时钟(ALTCLK)、异步时钟ADACK。图中红框表示可选的时钟源,绿框表示通过ADICLK这个寄存器位来选择时钟源,蓝框表示经过ADIV分频后输出ADCK时钟。采样频率域ADC时钟最直接的关系,可以理解为一个AD采样时间内,包含n个ADCK,ADCK的频率越快,AD的采样频率也就越快! 

2016-03-04 12:47:06 20750

转载 飞思卡尔Kinetis芯片中NVIC模块的中断寄存器的介绍及其应用举例

NVIC模块的中断寄存器简介 嵌套式向量中断控制器(NVIC)是Cortex内核不可分割的一部分,它与CPU紧密结合,可对系统异常和外设中断进行控制。如图1所示,NVIC右端连接到各个外围模块,负责对外设中断进行处理;左端连接到内核,负责对内核系统异常进行处理。本文重点介绍NVIC对外围模块的中断控制。通常,在配置某个外围模块的中断功能时,除了需要设置此模块本身的寄存器中的中断使

2015-12-12 12:43:41 2716

转载 PIT工作原理

转自:http://m.blog.csdn.net/blog/lvtingting2007/43372041PIT工作原理即使你不用固件库来编程,PIT也绝对是不会让你望而却步的一个东西,打开技术文档看看它的寄存器数量,你就会惊喜的发现,这货才5个寄存器,简直是业界良心啊有木有。这绝对是新手入门级的模块,如果你能用寄存器编程来搞定这个模块,你也可以自豪的跟别人说,哥也是会写K60驱

2015-12-08 15:35:56 18779

转载 kinetis的UART串口寄存器

kinetis有多达6个UART串口,可支持MODEM、红外、ISO7816等操作模式。UART寄存器有很多,但基本应用只关注其中的几个就够了。下面介绍常用寄存器:UARTx_BDH:UARTx_BDL - 低13位是波特率发生器,UARTx_BDH的第6位是RXD输入引脚有效边沿中断使能位,为1时使能;UARTx_BDH的第7位是LIN 间隔检测中断使能位,为1时使能。UARTx

2015-12-07 16:53:12 1326

转载 Cortex-M4 Systick滴答定时器

Tickclock可以实现精确延时,在K60的datasheet中没有详细将,现在我把我找到资料分享一下,关于systick在Cortex-M4中有讲到我们大家平常在单片机开发中经常会使用到延时函数,一般的,我们会使用变量自加循环判断的方法来实现软件延时。但是,这种方法有个弊端——延时时间不精确。主要体现在:1, 在C语言编写的延时函数中,每条函数语句的执行时间可能不同,这样,

2015-12-04 15:15:24 6150 1

多个TM75温度连续转换程序

多个TMP75温度连续转换实验源码

2017-06-30

Nokia 5110 PCB底板

Nokia 5110 PCB底板,使用AD打开的奥

2017-06-12

AD ESP8266-12原理图和封装库文件

提供ESP8266-12原理图和封装库文件,可以使用AD打开,封装支持3D文件

2017-05-23

山外K60参考代码V5.3(支持FX、FN和DNZ)

山外K60参考代码V5.3(支持FX、FN和DNZ),自己用的很好推荐个大家。。。

2016-01-15

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

TA关注的人

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