自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kehui123的专栏

生命不息 奋斗不止

  • 博客(57)
  • 资源 (14)
  • 收藏
  • 关注

原创 充电桩相关技术标准

1、国家标准:GB/T 18487.1-2015 电动汽车传导充电系统 第一部分:通用要求GB/T 18487.2-2017 电动汽车传导充电系统 第2部分:非车载传导供电设备电磁兼容要求GB/T 20234.1-2015 电动汽车传导充电用连接装置 第1部分:通用要求GB/T 20234.2-2015 电动汽车传导充电用连接装置 第2部分:交流充电接口GB/T 20234.3-2015 电动汽车传导充电用连接装置 第3部分:直流充电接口GB/T 27930-2015 电...

2021-02-06 16:26:23 5619

原创 stm32h43+SDMMC/EMMC 驱动配置过程记录

1. 开发环境:MDK5硬件平台:STM32H743IITX2. 调试内容:STM32H743 + EMMC,EMMC型号:MTFCxGMVEA-4Mcubemx主要配置界面:文件系统配置:时钟配置按照上面的配置生成的代码基本是可以用起来的。下面是简单的测试程序:(测试程序是在我的项目工程里面节选出来的,仅供参考)/*---------------emmc测试------------------------------------...

2020-12-13 12:22:25 4162 5

原创 stm32+lwip 的先启动后插网线的处理方法

1. 开发环境 : MDK5硬件: STM32F107协议栈: LWIP,无操作系统。2. 官方的demo 代码,是启动的时候就初始化,如果启动的时候,不插网线,对方没有办法连接,导致初始化失败,再插入网线也不能初始化。解决办法: 在cubeMX配置中,添加对LINK-CALLBK的使能。如下图:然后在主循环中加入如下代码: Network_Staus = netif_is_link_up(&gnetif); ethernetif_set...

2020-12-11 23:15:54 3501 4

原创 IAR 局部变量初始化的问题

今天调试UCOSiii的程序,遇到一个问题,程序停止在等待PLL工作的while循环中。硬件环境: stm32f439igt单板软件环境: UCOSIII,代码从USOS官网直接下单,没有做任何改动编译环境: IAR最近有个项目用到了STM32F439, 客户要求跑一个小的系统调度内核,UCOSII或者UCOSIII。所以就直接去UCOS的官网查找了一下,还真有439内核的UCOS, 下载下来,编...

2018-03-03 21:46:00 1711

转载 LoRaWAN 协议分层浅析

本文是转载,转载地址:http://www.cnblogs.com/answerinthewind/p/6200497.htmlLoRaWAN 分层总体架构一共分为4部分:LoRaWAN从底层到最后用户拿到数据的通讯过程通讯大致可分为三段:MOTE GW (MAC层)GW serverserver 用户LoRa联盟 规定了 MAC层的通讯协

2018-02-03 20:08:48 1449

原创 FPGA学习之 std_logic_vector与std_logic的区别

std_logic_vector 是标准逻辑矢量,定义的是长度大于1的变量,需要确定赋值方向 (n downto 0) o (0 downto n)。std_logic 是长度为1的逻辑 与bit 相似,只是 bit 只能是'0 ’和'1‘ 而 std_logic有以下九种状态:U'——初始值,'X'——不定,'0'——0,'1'——1,'Z'——高阻,'W'——弱信号不定,'L'——弱信号0

2015-04-28 15:35:48 20431

转载 ucosii任务切换

OSCtxSw()和OSIntCtxSw()  OSCtxSw()是任务优先级切换函数,它的作用是先将当前任务的CPU现场保存到该任务的堆栈中,然后获得最高优先级任务的堆栈指针,并从该堆栈中恢复此任务的CPU现场,使之继续执行,该函数就完成了一次任务切换。  OSIntCtxSw()是中断级的任务切换函数。由于中断可能会使更高优先级的任务进入就绪态,因此为了让更高优先级的任务能立即

2014-12-26 09:25:37 1680

转载 测量CT和保护CT的区别

测量CT在一次设备正常工作情况下流过设备的电流,测的电流是供继保装置和综自装置以及计量装置的计量回路使用。它要求的是正常负荷电流情况下的计量精度比较高;保护CT是当一次设备或线路发生短路等故障时,一次设备流过很大的故障电流时,CT的二次侧输出的电流仍然能基本反映出一次侧电流的大小。它要求的是较大故障电流情况下CT仍然不饱和,即当一次侧流过N倍的额定电流时二次侧输出的电流误差仍然很小,专业术语大

2014-07-30 21:44:53 7092

原创 您能坚持写博客八年吗

今天看了人月神话的博客,有一句话深有感触,在这里记下来,您能坚持写博客八年吗,呵呵,我这里的空间开辟了有四五年了吧,在此mark一下,看自己能否坚持写博客八年。

2014-07-25 21:19:47 592

原创 ad7606

AD7606的读取过程是首先要用mcu发一个convst信号给AD7606,然后AD7606转换完毕后,会发出一个busy信号通知单片机此时再启动spi去读取采样之后的值。值得注意的是在用串口读取的时候,MSB DB15是在CS的下降沿输出的,而DB14到DB0是在SCLK的上升沿输出的。这在datasheet的28页第二列页首那段有描述,如果您的SPI配置成SCLK的上升沿读取,DB15可能读取

2014-07-23 22:27:33 8814 4

转载 暂时

http://www.linuxidc.com/Linux/2010-01/23941p5.htm

2012-08-04 08:14:18 923

原创 uboot之bootm命令分析

/*本文的部分内容参考了http://blog.csdn.net/xitijie/article/details/7004737这篇文章,在此表示感谢*/bootm要做的事情:1. 读取头部,把内核拷贝到合适的地方2. 把参数给内核准备好,并告诉内核参数的首地址3. 引导内核启动内核:do_bootm_linux: 1. 设置参数,跳到入口地址theKernel

2012-07-23 23:11:57 18115 1

转载 nandflash详述

转自http://blog.163.com/starjj_embeded/blog/static/20450005120122170425898/1. 硬件特性:【Flash的硬件实现机制】Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memo

2012-07-10 06:13:12 2994

原创 copy_to_user()函数分析

copy_to_user()函数分析在学习字符设备驱动时,遇到一个函数copy_to_user(),这个函数是在编写驱动程序代码的过程中经常遇到的一个函数,它的功能是拷贝一个数据块从内核空间到用户空间。因为内核空间和用户空间的内存不能直接相互访问,才会出现这么一个函数。 它的实现如下: static inline unsigned long __must_checkcopy

2012-07-09 21:41:29 1462

原创 linux字符设备驱动

Linux字符设备驱动 Linux设备驱动有两种加载方式,动态加载和静态加载。动态加载就是在运行的时候去加载,静态加载就是在编译的时候去加载。这里主要记录学习动态加载的方式,在学习动态加载方式之前,要先熟悉驱动动态加载的流程,动态加载需要做哪些工作。 模块加载: Linux内核模块主要由以下几个部分组成:模块加载函数,模块卸载函数,模块许可证明,这三项是必须的。

2012-07-09 06:12:42 760

原创 lm3s时钟配置

关于lm3s时钟控制,以9b96为例,系统在编程和上电过程中是用的精确内部振荡器(PIOSC),这个振荡器是一个内部时钟源,不需要任何外部的原件,在上电之后,如果想把时钟源改成主振荡器,则必须在软件复位之后修改,主振荡器有两种时钟源,一是单端时钟源接在OSC0端,另外一种是两脚的晶振串接接在OSC0和OSC1之间。设置朱振荡器的时候要注意PLL是否正在使用,如果

2012-04-22 09:39:05 1369

转载 PADS四层改两层设置方法

<br />   比如原来的设计是4层板,现在想把它改为2层板,就要把中间的两个平面层删除。在help里介绍称如果要删除层,首先要把层上的所有数据删除。感觉很简单,可是实际操作起来却很有困难,始终删除数据不完全,所以也就无法删除层。<br />    下面以将四层板改为2层板为例来讲解,用PADS2005 layout软件打开要转换的PCB文件—〉File—〉Export,保存类型选择(* .DXF),自己取一个名字后点击OK按钮。在弹出的对话框里,在Layer Selection栏里,从Selected框

2011-03-02 22:04:00 14304 1

转载 PCB布板时去耦电容的摆放问题

<br />相信刚毕业的大学生,刚进单位犯错误是在所难免的,可能每个人都会有一个老师去带,如果你遇到了一个认真并且对你负责的老师带你,那我恭喜你,你的运气很好,因为一开始他对你的严格往往会使你受益终身。当然被别人批评永远是我们不愿意听到的,如果你既不想被老师批评,又想自己今后进步的很快,唯一的路径就是努力学习了。<br /> <br />    前面说了一些自己经历的感受,下面我们开始说正题了。<br />    相信对做硬件的工程师,毕业开始进公司时,在设计PCB时,老工程师都会对他说,PCB走线不要走直

2011-01-21 22:49:00 3404

原创 PADS封装问题

<br />在用pads的过程中遇到这么一个问题,我需要一个sflash的封装,我这里有快老板子的PCB,我于是就把老板子上的sflash的封装移到PADS上面来,老板子也是用pads画的。但是移到之后,在同步的时候提示错误,错误如下:<br /> Because the current design is in default layer mode and the decal is in increased layer mode, you cannot add decal "TO-92". Open

2011-01-21 01:13:00 6699 1

原创 pads初体验

<br />近期的工作需要用padslayout来画PCB,用dxdesigner来做原理图,以前没用过这个工具,对于DxDesigner中的原理图中的符号怎么跟padslayput中的库元件对应起来的还是有点模糊,只知道通过双加DxDesigner里面的器件,在右边属性里面的pkg_type中填写padslayout库中的decal中对应的封装的名字就可以同步过去了,暂时先记着,以后再补充。

2011-01-19 23:53:00 1093

原创 “你还是不是个男人啊”这话真给力

在家里宅着的感觉真不好,没什么事情做,闲的发慌,今天也没什么心情改原理图,索性在在这里发发牢骚吧说说来跟我合租的那哥们的事吧,那哥们挺有意思。他们是夫妻两个,女的据说是硕士,今年七月参加工作,两个月已经结婚了,男的好像是公司的一个小领导吧。刚见面那哥们说,我是给ibm做事,唉幺,这哥们挺牛,看来这头顶发亮还真是有原因的。后来才了解到,原来给国内的一个销售代理做技术支持。也不错,两口子在燕郊买了套房子,整天牛气的不得了,我是这个哥们每天被教育的对象,“小张,北京这地方,不适合你,劝你还是回老家吧,在老家能找个

2010-12-26 16:50:00 854

原创 圣诞

<br />真不知道为什么,我们中国人这么喜欢过圣诞,这几年好想圣诞比春节还热闹。圣诞应该是各个商家炒起来的,有这个气氛了,借这个机会大赚一笔,我们年轻人又都喜欢跟风,就自然出现了这么一种情况。<br />今年的圣诞确实有点特别。因为这个圣诞认识了一位新朋友,郑姐的好朋友,郑姐是一位很优秀的女生,她的朋友肯定也很优秀。郑姐其实是我的一个高中同学,在我的记忆里面,好像跟郑姐同窗三年,说过的话不超过三句,印象最深的是她总是抱着一大摞书,风风火火的跑进教室,一屁股坐下去,就开始看书。毕业后知道她来到北京念书,再也

2010-12-26 15:09:00 537

原创 心情

<br />真的想记录一下自己的心情,却发现自己确实什么都写不出来,纵使心里有千言万语,却总是无法通过文字吐露出来,那种憋着的感觉真是很难受。来到北京观察到的,自己经历的,才半年,但是却感觉比在淄博两年都丰富的多。一个人的成长环境真是太重要了,尤其是大一些基本的价值观形成的那几年的环境对一个人的一生起着决定性的作用。这几年对大多数人来说就是大学时期,大学时候的学校的风气,大学时候的你的朋友圈子,太重要了。在这个时期形成的一些价值观,可能会影响人的一生,以后再试图去改变确实是一件很困难的事情。<br />这些

2010-12-26 14:43:00 982

转载 MIPS寄存器约定

<br />对于在一个CPU上进行开发,掌握其工作的CPU的寄存器约定是非常重要的。 <br />MIPS体系结构提供了32个GPR(GENERAL PURPOSE REGISTER)。这32个寄存器的用法大致如下: <br />REGISTER   NAME          USAGE <br />$0                   $zero           常量0(constant value 0) <br />$2-$3             $v0-$v1        函数调用返回

2010-08-25 20:37:00 1515

转载 EEPROM读写操作常见的陷阱

<br />在项目开发中经常使用到EEPROM,现在把自己开发中曾经遇到的陷阱和自己的解决方法列出。(1)现象:加密型遥控器的ID自动丢失和改变。 <br />       原因:在更新EEPROM过程中,断开电源。 <br />       解决方法:<br />       a.更改设计避免在写入EEPROM过程中断开电源;<br />       b.增加100uF的电容,断电后瞬间维持EEPROM供电正常至EEPROM写入完成。<br />(2)现象:保存在EEPROM里的配置信息自动被改变。 <b

2010-08-15 21:46:00 1481

转载 EEPROM读写操作常见的陷阱

<br />在项目开发中经常使用到EEPROM,现在把自己开发中曾经遇到的陷阱和自己的解决方法列出。(1)现象:加密型遥控器的ID自动丢失和改变。 <br />       原因:在更新EEPROM过程中,断开电源。 <br />       解决方法:<br />       a.更改设计避免在写入EEPROM过程中断开电源;<br />       b.增加100uF的电容,断电后瞬间维持EEPROM供电正常至EEPROM写入完成。<br />(2)现象:保存在EEPROM里的配置信息自动被改变。 <b

2010-08-15 21:46:00 9262

转载 EEPROM读写操作常见的陷阱

<br />在项目开发中经常使用到EEPROM,现在把自己开发中曾经遇到的陷阱和自己的解决方法列出。(1)现象:加密型遥控器的ID自动丢失和改变。 <br />       原因:在更新EEPROM过程中,断开电源。 <br />       解决方法:<br />       a.更改设计避免在写入EEPROM过程中断开电源;<br />       b.增加100uF的电容,断电后瞬间维持EEPROM供电正常至EEPROM写入完成。<br />(2)现象:保存在EEPROM里的配置信息自动被改变。 <b

2010-08-15 21:45:00 1983

转载 ttl与cmos(2)

 注:鉴于很多电子初学者对什么是TTL电平,什么是CMOS电平不清楚.也不能了解CMOS电平与TTL电平的区别.特别在网上找到这篇TTL和CMOS电平总结.感谢作者的工作.1,TTL电平(什么是TTL电平): 输出高电平>2.4V,输出低电平=2.0V,输入低电平2,CMOS电平: 1逻辑电平电压接近于电源电压,0逻辑电平接近于0V。而且具有很宽的噪声容限。 3,电平转换电路: 因为TTL和COM

2010-04-18 14:57:00 498

转载 ttl与cmos

ttl-晶体管(一般指硅型)逻辑电平,也就是硅型pn结的逻辑电平。一般地,pn结加正向电压大于0.7伏特左右就导通,对pn结来说,此时逻辑电平为“1”。逻辑电平“0”呢?自然是小余0.7V了。为了提高逻辑电路的可靠性,规定的值应该稍高(1时)或稍低(0时)----说实话他们规定的数值我记不住的,本人的机械记忆能力很差。cmos-互补金属氧化物半导体。由于制造工艺不同,和电源电压不同(这是cmos的

2010-04-18 14:53:00 584

转载 上拉电阻下拉电阻的总结(转载)

上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。2、OC门电路必须加上拉电阻,才能使用。3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。5、芯

2010-04-18 14:33:00 636

原创 blackfin_uclinux交叉编译环境的建立

农民伯伯 [email protected] 最近在研究uboot,做正式样机需要移植uboot,而不用自己写的boot程序。现将搭建toolchain的过程记录下来,其实用Ubuntu操作系统搭建交叉编译非常简单。分下面几步;  1.安装Ubuntu系统,这个不用多说,下载,安装在虚拟机上就可以直接用。  2.安装toolchain交叉编译环境。Ubuntu系统可以直接设置软

2010-02-09 13:38:00 2188

原创 浅谈blackfin537处理器中sport口时分复用的理解

浅谈blackfin537处理器中sport口时分复用的理解基于自动缓冲DMA模式下的Sport口的多通道操作 农民伯伯 [email protected], 基础知识在给出例程之前,先了解一下相关的基础知识。Sport接口提供一种多通道的操作模式,运用这种模式可以以时分复用的方式进行通信。在多通道模式中,每个数据字都占用一个独立的通道。每个spo

2010-02-09 13:21:00 2702 7

原创 switch与ifelse的效率问题

switch与if..else 的执行的效率问题 今天读一前辈的程序,发现其在串口中断里面为了分析协议的报文类型,在中断函数里面使用if..else语句。因为报文类型在现在看来只有两种,以后有可能还会增加,不确定。 本人以为这样用有些不妥,为什么不用switch语句呢?猜想是不是因为效率方面的考虑呢,毕竟我们应该尽量是中断的处理代码更加简洁,时间效率更高才好。 所以本人就查找相关资料,资料显示sw

2010-02-08 13:04:00 94792 16

转载 gcc参数详解

GCC参数详解gcc and g++分别是gnu的c & c++编译器  gcc/g++在执行编译工作的时候,总共需要4步  1.预处理,生成.i的文件[预处理器cpp]  2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]  3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]  4.连接目标代码,生成可执行程序[链接器ld]  [参数

2010-01-26 09:32:00 1122

转载 简历投递必中的十大绝招

不少求职者遇到这种问题,发了数百份简历没有回音。是HR没有收到还是自己投递简历的程序有问题?为提高求职的命中率和更快的找到工作,我们在网上投递简历时应掌握一些技巧。   1、简历针对性的改动   你的简历不要万年不变。一份简历包含的内容很多,而你心仪的职位相信也不只一个。如果你投什么职位都用一份相同的简历的话,你的吸引力就会急剧降低;而为每一个职位都专门准备简历也是不切实际的。怎么办呢?其实你在投

2010-01-24 12:47:00 947

原创 Blackfin537处理器的代码加载,启动模式和uboot引导的辨析

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Sty

2010-01-12 16:04:00 1466

转载 获取当前文件路径

GetCurrentDirectory只是返回当前进程的当前目录,而并不是进程的镜像文件(.exe)所在的目录GetCurrentDirectory()适用于XP等系统,在WinCE上不能使用GetModuleFileName()适用于WinCE2.0以后使用方法://下面的一段代码主要是获得当前程序的运行目录(.exe)所在的目录{    CString path; 

2010-01-11 23:04:00 760

原创 C++之try...catch...

以下语句引用HappyTree(笨笨·天行健)在某个问题中的回复。贴一段来自BS的TCPL话:     When   a   program   is   composed   of  separate   modules,   and   especially   when   those   modules   come  from   separately   de

2010-01-09 17:42:00 559

转载 上拉电阻的作用

 上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。2、OC门电路必须加上拉电阻,才能使用。3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生

2009-11-10 13:54:00 534

原创 c++builder中添加和响应自定义消息

 在头文件中要添加的代码:     ...     //首先定义消息号;     #define   MyMsg   WM_USER+100            class   TForm1   :   public   TForm     {     __published: //   IDE-managed   Components    

2009-11-10 09:53:00 1348

stm32h743加emmc/sdmmc加文件系统 的驱动和测试代码

stm32h743加emmc/sdmmc加文件系统 的驱动和测试代码。开发环境是MDK,用ST提供的HAL库,此代码已经配置到实际工程中使用,具体配置过程在博客中有记录。也可以联系本文作者共同学习。

2020-12-13

飞控调试软件源码

飞控调试软件源码,VS2010下编译,采用C#编写,是飞控爱好者的德力助手

2018-08-31

msp430f5438a上移植的ucosii-v2.92版本,运行稳定

msp430f5438上面移植的ucosii-v2.92版本,运行稳定,外设资源丰富。 在此基础上做的应用产品已经量产。是用过程中有什么疑问也可以联系我。

2014-12-26

嵌入式linux启动信息详解

嵌入式linux驱动信息详解,对初学者有很大的帮助

2011-12-20

ARM92440开发板原理图和PCB

ARM92440开发板原理图和PCB,包括原理图和PCB,对初学者有很 大的帮助

2011-12-20

三星S3C2440PCB

S3C2440开发板pcb,对初学者有很好的参考价值

2011-12-20

TS流语法分析工具.。。。。。。

简单小巧的ts流语法分析工具,开源,无需注册

2011-04-27

DxDesigner教程(超详细的)

超详细的DxDesigner教程,比知秋一叶的详细多了

2010-12-20

uboot_bf537_VDSP++5.0

uboot1.16版本,在VDSP++5.0环境下编译,适合bf537,实现了uboot的大部分的命令,功能齐全

2009-04-29

点阵液晶驱动19264

点阵液晶驱动19264 控制器是控制器是KS0108B/A 功能齐全

2009-04-28

uboot_bf537_VDSP5.0++

这是在VDSP5.0++下面编译成功的uboot,支持的命令 base - print or set address offset bootm - boot application image from memory cmp - memory compare cp - memory copy crc32 - checksum calculation erase - erase FLASH memory flinfo - print FLASH memory information help - print online help loadb - load binary file over serial line (kermit mode) loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nm - memory modify (constant address) printenv- print environment variables protect - enable or disable FLASH write protection run - run commands in an environment variable saveenv - save environment variables to persistent storage setenv - set environment variables version - print monitor version

2009-04-08

uboot1.3.4最新源码

uboot1.3.4官方最新源码,官方的FTP大部分时间都连不上,在这里下很方便

2009-01-04

uboot_bf537_vdsp

在VDSP++上面,编译的UBOOT_BF537,这个文件有bug,修改后的在我的另外一个资源里面

2008-12-10

空空如也

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

TA关注的人

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