嵌入式
文章平均质量分 77
yx_l128125
这个作者很懒,什么都没留下…
展开
-
硬件电路点点滴滴“女屌逆袭”2---晶体三极管(1)
一.晶体管基础知识晶体管分2种:NPN、PNP晶体管通常封装为TO-92,下面是元件实物图 和 元件符合:NPN:当电压和电流被加到基极上时,NPN晶体管;其工作原理:就像水龙头—给控制开关一点压力,它就放出水来;同样给基极一定电压和电流,就可以使晶体管的集电极到发射极通过的电流增大,从而导通;如图:PNP:(1)原创 2014-01-24 14:59:05 · 4258 阅读 · 4 评论 -
函数指针和指针函数区别以及如何应用,举例说明
一直忘记这两者的区别,每次用到是重新捡起; 这里解析的比较简约,所以收藏!!引用源:http://zhidao.baidu.com/question/264795890.html1 函数指针变量在C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找转载 2013-08-02 17:22:18 · 2532 阅读 · 0 评论 -
stm32系统时钟详解&&移植
写作原由:今日接手用stm32f100xx芯片开发的项目,以前用的是stm8s 和stm32f103xx芯片;因为在别人的项目代码的基础上做2次开发,但是发现那个代码main函数中没有对系统时钟的设置的相关函数,一直纳闷,但也没有深究,直至昨日 调试时出现串口收发数据出错,源代码在原项目的板子上串口发送、接收数据正常,同样程序在项目板子上收发的数据不正确, 两块板子芯片一样,串口收发管脚一样,最后原创 2013-07-01 10:34:29 · 13811 阅读 · 1 评论 -
XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
MKD 报错: linking...LCD.axf: Error: L6218E: Undefined symbol EnZK (referred from ht128x64.o).LCD.axf: Error: L6218E: Undefined symbol GetFlashCnBuf (referred from ht128x64.o). 解析:Undefined sy原创 2013-07-03 10:49:04 · 239284 阅读 · 2 评论 -
keil MDK中如何生成*.bin格式的文件
转自博客:http://blog.csdn.net/zhzht19861011/article/details/5846510这博主关于MDK 的使用的文章,写的得TM的好 TM的实用! 真心收藏! 在Realview MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。虽然这两个格式的文件非常有利于ULINK2仿转载 2013-06-21 15:15:40 · 3836 阅读 · 0 评论 -
Keil MDK从未有过的详细使用讲解
转自博客:http://blog.csdn.net/zhzht19861011/article/details/5846510这博主关于MDK 的使用的文章,写的得TM的好 TM的实用! 真心收藏! 熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是很像的。但ARM内核毕竟不同于51内核,因此无论在设置上还是在编程思想上,都需要下番功转载 2013-06-21 14:08:02 · 82726 阅读 · 17 评论 -
Keil MDK编译器(V4.03)与J-LINK使用
转自博客:http://blog.csdn.net/zhzht19861011/article/details/5846510这博主关于MDK 的使用的文章,写的得TM的好 TM的实用! 真心收藏! 前几天进手了一个J-LINK,因为H-JTAG毕竟对MDK支持的不是太完美,比如用keil mdk上面的下载按钮烧录程序,不是直接就能烧录进去,而是弹出H-Flash转载 2013-06-21 14:29:31 · 2174 阅读 · 0 评论 -
Keil MDK与h-jtag联调
转自博客:http://blog.csdn.net/zhzht19861011/article/details/5846510这博主关于MDK 的使用的文章,写的得TM的好 TM的实用! 真心收藏! keil MDK也是可以借助h-jtag进行单步调试,写出来与大家一起分享一下.keil MDK编译器使用V4.01版本,下载地址:http://www.embed转载 2013-06-21 13:49:12 · 1847 阅读 · 0 评论 -
j-tag 和j-link 关系
调试ARM,要遵循ARM的调试接口协议,JTAG就是其中的一种。当仿真时,IAR、KEIL、ADS等都有一个公共的调试接口,RDI就是其中的一种, 那么我们如何完成RDI-->ARM调试协议(JTAG)的转换呢? 有以下两种做法: 1. 在电脑上写一个服务程序,把IAR、KEIL和ADS中的RDI命令解析成相关的JTAG协议,然后通后一个物理转换接口(注意,这个转换只是电气物理层 上的转转载 2013-06-21 10:28:41 · 4057 阅读 · 0 评论 -
HardFault_Handler问题查找方法
HardFault_Handler问题查找方法 STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。出现问题时排查的方法:发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应转载 2013-07-08 09:59:05 · 2131 阅读 · 0 评论 -
STM32菜鸟成长记录---RS485通讯协议的应用
RS485缺点:RS485总线是一种常规的通信总线,它不能够做总线的自动仲裁,也就是不能够同时发送数据以避免总线竞争,所以整个系统的通信效率必然较低,数据冗余量较大,对于速度要求高的应用场所不适应用RS485总线。同时由于RS485总线上通常只有一台主机,所以这种总线方式是典型的集中—分散型控制系统。一旦主机出现故障,会使整个系统的通信限于瘫痪状态,因此做好主机的在线备份是一个重要措施。*原创 2012-08-27 23:18:11 · 105634 阅读 · 18 评论 -
串口uart调试小小结
写作原因:近来蛋闲?非也 ! 昨天一同事合作的项目代码出现的bug-----他的上位机每200ms给我发送命令向我这边下位机读取一些数据,在此过程会按下按键做一些另外操作并给他返回数据;(通信是通过)1.他定时200ms给我发回指令,我应该给他返回字符串:@VUMultiGet(Out_1, -inf dBFS, Normal, Out_2, -inf dBFS, Normal, Ou原创 2013-08-23 17:01:36 · 4812 阅读 · 0 评论 -
详解大端模式和小端模式
详解大端模式和小端模式 文章出处,转自:http://blog.csdn.net/ce123_zhouwei/article/details/6971544一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家转载 2013-08-30 10:28:02 · 3673 阅读 · 0 评论 -
关于 typedef & typedef struct & typedef union理解 --写给不长脑子的我
来源:http://zhidao.baidu.com/link?url=qxzkx5gaoCfnHnygYdzaLEWkC45JqNYYUk42eHHjB0yB3ZMgHv6lGjnq3CRfgQw8uJVesKck7ao7zT1HAQrWoa 写作原由,今晚再次查了typedef用法,就在这用着查着中做着一个个项目,可我还是记不住;脑子里装得是什么? 问题:请高手帮忙解释以下原创 2013-09-02 20:13:53 · 13775 阅读 · 1 评论 -
硬件电路点点滴滴“女屌逆袭”1---旁路电容/去耦电容
写作原因:最近工作重心由软件渐渐向硬件偏移,画pcb ,PCB 我是不感兴趣的只当复习玩玩,无聊画板之余研究一下原理图硬件电路设计才真正接受画板工作的原因.....今天在看CAN总线资料时突然看到can原理图TJA1050 CAN收发器 电源管脚 外接电源时节了一个电容到地,突然想起昨天同事顺子跟我说 布线时电源要先连接电容再接到芯片电源管脚那时不知所云,但是今天又遇到所以便开始了我的原创 2014-01-09 17:18:38 · 5320 阅读 · 5 评论 -
18B20温度传感器详解
数据传感器DS18B20 特性:1. 单独的单线接口,只需1个接口引脚即可通信;2. 不需要外部元件;3. 可用数据线供电;4. 不需备份电源;5. 测量范围从-55°C ~ +125°C, 增量为0.0625°C;6. 以12位数字值方式读出温度;7. 在1s内把温度变换为数字;原创 2013-12-20 17:31:06 · 14571 阅读 · 0 评论 -
va_list、 va_start、 vsprintf、va_end 用法
小知识点总结:(知识点2、3是为了更好理解知识点1)知识点1:va_list、 va_start、 vsprintf、va_end 用法: 看同事LCD工程里面有这样的应用--va_list arg_ptr; va_start(arg_ptr, format);slen = vsprintf(buf, format, arg_ptr); va_e原创 2013-12-17 16:44:31 · 11034 阅读 · 0 评论 -
ISP于IAP的区别
ISP于IAP的区别 ISP:in systemprogramming, 在系统编程IAP: in applicatin programming 在应用编程但两者的操作方式,结果和应用场合有什么区别 什么是ISP: 用写入器将code烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时候就将接口设计在上面,所以叫"在系统编程",即不用脱离系统;转载 2013-12-17 15:07:12 · 2496 阅读 · 0 评论 -
STM32 DMA 应用之(二) DMA 串口 数据传输--发送
一、DMA请求映像由此我们知道如果需要使用串口1的发送功能需要用到的是DMA1_Channel4使用串口1的接收功能需要用到的是DMA1_Channel5 二、怎样配置软件来使用DMA 把数据传到串口发送?(1)配置dma /*********************************************************原创 2013-12-09 09:40:59 · 42532 阅读 · 6 评论 -
STM32 DMA 应用之(一)SRAM 与flash 间数据传输
一、为什么要用DMA?DMA 全称:Direct MemoryAccess 就是可以直接内存存取;正是它可以直接操作内存所以具备以下优点:而无需经过CPU去操作内存的存取,这样可以解放CPU出来干其他的事情;因为他可以进行存储器时间的数据传输,而不需经过cpu,所以大大加快了数据传输速度—是一种高速的数据传输; 二.DMA有几种传输数据方式:(1)内存到 内存之间原创 2013-12-04 17:53:17 · 18916 阅读 · 1 评论 -
关于 最近项目 测试--调试的一点思考
怕用思维导图写出来了 ,之后又当垃圾删了,故此当成文章存档;原创 2013-11-20 22:33:21 · 2271 阅读 · 0 评论 -
无法进入main 函数原因之一
因为用了printf 函数而无法进入到main函数:解决1:使用了printf之类的库函数,需要编写_sys_exit()之类底层函数。照你的提示看,也许是_sys_open()没写。_sys_xxx之类的的只要写个空函数就行了;因printf()之类的函数,使用了半主机模式。使用微库的话,不会使用半主机模式,所以就没有问题。添加下面代码,就可以使用标准库了:#pragma imp原创 2013-11-25 16:16:49 · 8349 阅读 · 1 评论 -
如何用JLINK ULINK JTAG 查看 KEIL /MDK 某条指令执行时间
为了保证在MDK中读取正确的程序运行时间,必须对仿真器的跟踪项进行设置。 以ULink2为例: (1)在工程的“ Option for Target ..”目标选项界面中,选择标签“Debug”,进行调试设置界面,选择使用“Cortex-M3-ULIK2”作为仿真器,然后点击右侧的“Settings”按键,进入ULINK设置界面。 (2)点击标签“Trace”进入跟踪设置界面原创 2013-11-22 16:29:15 · 13168 阅读 · 2 评论 -
STM32 IAP 在线升级详解
一、在进入主题之前我们先了解一些必要的基础知识----stm32系列芯片的种类和型号:startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_hd_vl.s 大容量的ST原创 2013-10-24 15:49:26 · 124957 阅读 · 22 评论 -
stm32 IAP + APP ==>双剑合一
(扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级程序做了详细的分析http://blog.csdn.net/yx_l128125/article/details/12992773,考虑到出厂时要先烧写IAP 再烧写APP应用程序要烧写2次增加工人劳动力基础上写了“STM32 IAP+APP ==>双剑合一”链接稍后发,希望通过IAP程序的hex 文件 和 A原创 2013-10-30 11:28:31 · 35273 阅读 · 15 评论 -
STM32菜鸟成长记录---AD7792遇到的问题
A/D转换原理及参数指标1. 采样定理2. 为了正确无误的用图5.2.2中所示的采样信号vs表示模拟信号vi,必须满足式中, fs>=2fmaxfs为采样频率;fmax为输入信号vi的最高频率分量的频率;上式就是所谓的采样定理。满足采样定理的条件下,可以用一个低通滤波器将信号vs还原为vi,这个低通滤波器的电压传输系数|A(f)|在低于fmax的范原创 2012-09-30 09:28:12 · 10306 阅读 · 0 评论 -
STM32菜鸟成长记录---窗口看门狗
stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立看门狗是限制喂狗时间在0-x内,x由你的相关寄存器决定。喂狗的时间不能过晚。窗口看门狗,所以称之为窗口就是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚。图1 窗口看门狗的上窗口就是配置寄存器WWD原创 2012-09-30 09:24:54 · 27804 阅读 · 7 评论 -
STM32菜鸟成长记录---系统滴答定时器(systick)应用
1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。滴答中断?这里来简单地解释一下。操作系统进行运转的时候,也会有“心跳”。它会根据“心跳”的节拍来工作,把整个时间段分成很多小小的时间片,每个任务每次只能运行一个“时间片”的时间长度就得退出给别的任务运行,这样可以确保任何一个任务都不会霸占整个原创 2012-08-19 22:55:31 · 108101 阅读 · 10 评论 -
关于《学习基于ARM平台的嵌入式系统》的收获和思考
原文来自 51CTO/COM:http://developer.51cto.com/art/201001/177713.htm收获:嵌入式系统的分层与专业的分类。嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优原创 2012-05-21 21:33:02 · 2276 阅读 · 1 评论 -
Linux文件编程之--库函数pk系统调用函数
系统调用open () ,read(),write(),lseek();库函数fopen(), fread(),fwrite(),flseek();库函数1.fopen()函数函数功能打开文件头文件#include函数原型FILE *fopen(原创 2012-05-17 19:47:43 · 1153 阅读 · 0 评论 -
关于-/bin/sh:xx(命令) not found 的几种原因和解决办法
编写背后:昨天移植无线网卡到mini2440基本完成到最后一步:用命令:iwlist scanning 搜索网络时串口终端却出现了 -/bin/sh: iwlist not found ,后来请教老范老师点拨知道是库问题,最后自己找到问题、解决问题,才有此引发有所总结...... 关于-/bin/sh:xx(命令) not found 的几种原因:1./bin/目录下没有这个命令;原创 2012-04-01 12:57:23 · 228112 阅读 · 3 评论 -
ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之二“Linux内核中添加对UBIFS文件系统的支持”
一、移植环境§主机:vmware-redhat5 §开发板:mini2440--256MB nandflash§kernel:2.6.29 编译器:arm-linux-gcc-4.3.2.tgz §uboot: u-boot-2008.10 二.移植步骤1.在内核顶层目录下使用命令:make menuconfig ,进入内核配置菜单,添加对U原创 2012-04-19 13:55:19 · 5268 阅读 · 1 评论 -
wifi无线网卡(zd1211b芯片)移植到mini2440全过程(二)遇到的问题总结&&解决方案
遇到的问题一:应经做了步骤二:“下载到zd1211 firmware 1.4后,根据firmware的说明,将其中的zd1211_*文件拷贝到根文件系统/lib/firmware/zd1211目录中。”问题:执行命令:ifconfig wlan0 up 后,死活说找不到固件firmware,无法加载驱动所需的firmware文件zd1211b_ub ???但是我的这个文件已经放在了指定的/原创 2012-05-05 16:30:11 · 4018 阅读 · 0 评论 -
ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之一“uboot中添加对UBIFS文件系统的支持”
为了更好的理解ubifs根文件系统的制作,首先,我们简单的说一下,系统的组成:Bootloader(uboot)parames(启动参数)kernel(内核)root Filesystem(根文件系统)bootloader(uboot)的作用就是用来加载操作系统;而嵌入式linux系统由linux内核和根文件系统两部分构成,两者缺一不可。原创 2012-04-18 21:34:06 · 5462 阅读 · 1 评论 -
wifi无线网卡(zd1211b芯片)移植到mini2440全过程(一)
声明:本文参考自博文:http://www.360doc.com/content/11/0616/16/4591140_127391820.shtml#本文参考上面博文实验过程发现原文有一些问题, 遇到了自己的问题,有自己的解决方案和思考总结还有对原博文的一些质疑:特此在此基础上总结了无线网卡在mini2440上的移植过程为了保留原参考博文的作者的意思,我这里全部按原文顺序,其中扦插实验过转载 2012-05-05 13:00:44 · 3168 阅读 · 0 评论 -
内核Kconfig 与 Makefile 文件分析
一.内核构造系统简介 内核是个复杂庞大的系统,对它进行配置、裁剪、编译原本非常地复杂和困难,但现在却只需要简单的两个命令:(1)make menuconfig ;(2)make uImage 就搞定了,原因是在其背后有一个设计精巧的内核构造系统帮助我们精确的完成了各项任务。内核构造系统最关键的组成元素就是各个目录下的Kconfig 文件和 Makefile文件,本节将对这两原创 2012-04-25 11:36:26 · 6804 阅读 · 0 评论 -
T264_param_t, T264_t结构体
转载地址:http://blog.sina.com.cn/s/blog_4171e65d0100o4px.html 转载背后:今晚看图像采集应用程序,里面“T264_param_t m_param; ” //代表编码器所采用的参数,如图像帧宽度、高度、压缩率等等而程序中经常使用到这个结构体的两个成员:m_param.width, m_param.height但是T264_para转载 2012-03-21 22:00:42 · 2475 阅读 · 0 评论 -
UNIX里面关于标准IO的几种缓冲机制
编写背后:国嵌的那段时间,老范曾让我们帮回答下论坛某个会员的问题,代码问题:出不来结果,没任何打印信息;代码如下(): #i ncludemain(){ printf(" if i will be output ?"); printf(" if i will be in the buffer?"); _Exit(0);}注意到,在代码中print原创 2012-03-20 22:24:16 · 1981 阅读 · 0 评论 -
ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之三“UBIFS镜像的制作&&烧写”
一、移植环境§主机:vmware-redhat5 §开发板:mini2440--256MB nandflash§kernel:2.6.29 编译器:arm-linux-gcc-4.3.2.tgz §uboot: u-boot-2008.10 二、制作ubifs镜像步骤1:将文件系统制作成 ubifs镜像文件,需要使用mkfs.ubifs工具,原创 2012-04-19 16:23:26 · 10205 阅读 · 4 评论 -
学校的论文答辩---问题准备
论文答辩今天终于完了,我今年20多岁,可以说等今天等了20多年了吧....嘿嘿,开个玩笑昨晚到2、3点多钟都睡不着觉,不是因为今天答辩,是因为,冷热不是,盖被子太热,不盖被子又着凉....言归正传,说主题,我写这篇博文的目的是什么---纪念,纪念我们即将离开的大学,曾经的青春.....还有这个嵌入式项目---远程视频监控系统1.HTTP 是什么协议层?HTTP 是一个面向事务,无连原创 2012-05-25 23:34:22 · 3668 阅读 · 2 评论