自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录每一次成长

技术类博客,描述嵌入式系统开发,管理等事项

  • 博客(66)
  • 资源 (10)
  • 收藏
  • 关注

原创 【草稿待续】统一的嵌入式软件编程模型——驱动

对于嵌入式软件编程模型,思考了很久,一直得不到很好的e

2014-11-04 11:49:59 883

原创 关于宏、常量及inline函数

首先明确三种的使用方法一.宏宏是使用#define来实现的,主要用法是函数替换----------------------#define            dbgprint(format,...)                    printf (format, ##__VA_ARGS__)定义常量----------------------#define

2014-10-30 11:26:25 890

原创 深入了解printf的用法和各类变形之区别

int printf(const char *format, ...);  向默认的标准输出设备按照规定格式输出信息,返回值为打印的字符个数,不包括结束符。例如正常执行printf("1234");printf("%d",1234)返回值都为4,输出失败(没有输出全部字符)则返回负数。int fprintf(FILE *stream, const char *format, ...);向指定的

2014-10-30 10:20:29 1263

原创 使用STM32的systick定时器中断实现RTC工作过程出错

开发环境:keil MDK V5.10操作系统:windows 7(32位)目标硬件:STM32F10

2014-05-05 21:53:37 3746

原创 STM32 jtag调试程序时程序跑飞

问题描述:在使用jtag对某软件进行调试的时候,

2014-05-05 21:07:00 5575

原创 理解STM32的中断优先级

STM32的中断优先级控制寄存器由两部分组成,

2014-04-29 17:01:12 4071

原创 如何理解STM32引脚中的GPIO,AFIO时钟分配策略和管脚复用

适用COTEX-M3系列的MCU也有两三年的时间了,一直用的是

2014-04-29 15:43:52 10790 1

原创 error 65: access violation at 0x40021000 : no 'read' permission

开发环境:keil MDK V5.10操作系统:windows 7()

2014-04-28 21:50:37 24902 12

原创 C语言对文件的交替读写问题

今天下午的时候调试如下一段代码,一直调试bu

2014-04-24 23:28:55 2786 1

原创 全局变量 局部变量 堆 栈

声明:本文为转载,原文地址为http://marycomputer.blog.163.com/blog/static/176058641201110911506102/关于该问题还可以参考另外一篇文章http://www.embedu.org/Column/Column540.htm一般全局变量存放在数据区,局部变量存放在栈区, 动态变量存放在堆区,函数代码放在代码区。 ---------

2014-04-11 13:36:45 967

原创 转载:清华综合症

原文地址:http://blog.sina.com.cn/s/blog_5d90e82f0101dfav.html我在清华的时候有一个很好的朋友,是北大的学生。我们都很喜欢运动,所以有时候一 起玩滑板,跳街舞,打网球什么的。有一天打完网球她问我:“你怎么一点也不像清华的学生啊?我印象中的清华人不管做什么都想比别人强。连打网球这种娱乐活 动都想练成专业的,动作要到位,角度要刁钻…… 所以跟他们玩起来

2014-04-11 13:36:43 544

原创 (转)房子装修须知

房子装修流程1.前期设计 -- 2.主体拆改 -- 3.水电改造 -- 4.木工 -- 5.贴砖 -- 6.刷墙面漆 -- 7.厨卫吊顶 -- 8.橱柜安装 -- 9.木门安装 -- 10.地板安装 -- 11.铺贴壁纸 -- 12.散热器安装 -- 13.开关插座安装 -- 14.灯具安装 -- 15.五金洁具安装 -- 16.窗帘杆安装 -- 17.拓荒保洁 -- 18.家具进场 -- 1

2014-04-11 13:36:40 584

原创 (转) iTunes,一个不断侵蚀C盘的大虫

由于iTunes侵占系统盘太多(大约占了7G左右的C盘),而网上的解决方法又很杂(最最关键的是不准确),至今难以找到合适的答案,所以才出此对策, 写一篇个人总结出来的方法,来搬家C盘的iTunes文件。别急,你可能要说你已经把iTunes安装在了其他盘,为什么iTunes还会如此嚣张的不断 侵入C盘空间,使得其空间越来越小?原因很简单,因为iTunes的资料库是默认安装在C盘的。而且这点在一开始的

2014-04-11 13:36:38 920

原创 PADS 9.3再学习笔记

1.Once critical signals have been routed, the power of PADS Autorouter can be used to quickly complete the rouing tasks.2.Applies fanout/spacing/pad entry constraints to package types. Ex: ssigning sm

2014-04-11 13:36:36 1046

原创 CC1100布板总结

1.强烈建议按照官方电路板参考设计进行器件选型和布局布线。官方硬件设计文档也如是说2.电源必须在靠近电源引脚处得到正确去耦。就达到最佳性能而言,去耦电容的安装位置和尺寸极为重要。3.顶层应该用于信号布线,而开阔区域应以通过数个过孔连接至接地的金属喷镀来填充。4.芯片下方区域用于接地,同时应通过数个过孔连接至底部接地层,以获得较好的散热性能,以及足够低的接地电感。5.在 CC1100E EM 参考设

2014-04-11 13:36:33 912

原创 STM32 APB1总线时钟配置问题

调试载波通信系统的时候遇到这样一个问题:两台设备分别为A何B,他们都使用了定时器2~4来进行通讯,A设备的PCLK1配置为HCLK,而B设备的PCLK1配置为1/2HCLK,通讯过程发现A,B两个设备偶尔能通讯偶尔不能通讯,表现出通讯部稳定。理论上应该完全不能通讯才是,深入研究STM32F101C8T6的数据手册发现问题所在,截图如下:图1  STM32功能框图图2 STM32 时钟系统    从

2014-04-11 13:36:31 7299 1

原创 示波器测试接地烧坏设备

昨天在测试一只电表的时候因为接地的原因烧毁了一只电表。整体经过是这样:用示波器测试电表的一个管脚波形,因此需要将示波器的接地夹和电表的地线连接起来,但是当示波器接地夹连接上电表地的时候,示波器接地夹和电表地之间出现了很大的火花,接着电表无显示。事后分析,发现电表的地平面和电表输入的零线端是导通的,而我们可能将电表的零线接为了火线,导致悲剧的发生。整个过程和连接方法用下图表示:  图1 浮地测试示意

2014-04-11 13:36:29 4532

原创 如何解决PADS切换层不改变颜色的问题

今天遇到一个问题,就是在使用PADS layout画PCB得时候,手动输入“L1”,“L2”切换层但是PCB显示不跟进,一直保持在第一层。该问题是软件配置问题,可以通过勾选tools->options->global->active layer comes to front解决!

2014-04-11 13:36:26 7487 1

原创 模拟电路学习笔记(1)

1.在未被击穿的情况下反向PN结只有很小的反向饱和电流。2.二极管具备直流电阻和交流电阻,直流电阻为二极管两端的电压电流比,交流电阻为二极管两端的电压增量和电流增量之比,经推导,交流电阻可以表示为rd=26mv/Id(Id为工作点的直流电流,该公式只能在Id较小时使用)。这两个电阻值在分析电路画直流通路和交流通路是可能被用到。3.二极管参数有:最大平均整流电流,当正向电流超过该值可能烧管;最大反向

2014-04-11 13:36:24 1847

原创 关于元器件选型需要注意的问题

电子产品设计时避免不了需要选择电子元器件,而元件的选择主要考虑以下问题:1.功率是否满足要求2.该器件本身是否产生干扰噪声等3.价格是否低4.供货量是否能够满足,供货周期长短5.在满足需求的情况下应该尽量选用低功率元件

2014-04-11 13:36:22 3236

原创 转:PCB设计铜铂厚度、线宽和电流关系

以下总结了网上八种电流与线宽的关系公式,表和计算公式,虽然各不相同(大体相近),但大家可以在实际的PCB板设计中,综合考虑PCB板的大小,通过电流,选择一个合适的线宽。 一、PCB电流与线宽PCB载流能力的计算一直缺乏权威的技术方法、公式,经验丰富CAD工程师依靠个人经验能作出较准确的判断。但是对于CAD新手,不可谓遇上一道难题。PCB的载流能力取决与以下因素:线宽、线厚(铜箔厚度)、容许温升。大

2014-04-11 13:36:19 3898

原创 转:关于pcb的线宽与过孔

我们在画PCB时一般都有一个常识,即走大电流的地方用粗线(比如50mil,甚至以上),小电流的信号可以用细线(比如10mil)。对于某些机电控制系统来说,有时候走线里流过的瞬间电流能够达到100A以上,这样的话比较细的线就肯定会出问题。一个基本的经验值是:10A/平方mm,即横截面积为1平方毫米的走线能安全通过的电流值为10A。如果线宽太细的话,在大电流通过时走线就会烧毁。当然电流烧毁走线也要遵循

2014-04-11 13:36:17 5010

原创 第四代组网模块存在的问题及改进方法

1.采用13F1数据传输时有返回错误码0x0D的情况,且有这样的情况:对于某一只电表在前一次抄收的时候返回0x0D,当抄收了一轮以后再次抄收这只电表可能返回的就不是0x0D了。2011-07-20 09:18:53->发送->682e00410400000000000000481001003794690000001301000200106837946900000068110434333938f11

2014-04-11 13:36:14 750

原创 赛盛EMC培训笔记(3)

ESD问题定位及整改ESD可能使用到得器件:TVS管、压敏电阻、电容典型ESD保护电路:静电防护注意事项:1.ESD器件是静电防护最好的器件2.一般复位引脚需要进行静电保护3.可以通过将静电快速泄放到大地或者对地电阻较小的点达到静电保护的目的4.加强绝缘击穿距离也可以起到静电保护的目的5.保护器件尽量靠近接口使外部干扰能够尽早到地。6.静电问题的两种解决思路:“引”和“断”。7.静电保护电容一般为

2014-04-11 13:36:12 1127

原创 赛盛EMC培训笔记(2)

辐射超标问题常用措施:1.关键信号串接磁珠,磁珠后并联电容到大地(磁珠选择依据是对辐射超标频段体现为高阻,对信号频段体现为低阻,电容选择和磁珠刚好相反)2.屏蔽电缆屏蔽层最好是接大地。3.屏蔽电缆和机壳应该全搭接(360°搭接),不能出现单线搭接的情况4.线缆上增加磁环5.修改机壳结构,保证机壳可靠搭接同时使用导电泡棉确保机壳良好搭接。2~3cm接入一个螺钉保证金属壳可靠接触同时,保证间隙足够小。

2014-04-11 13:36:10 1108

原创 STM32未使用引脚的处理方式及推荐硬件设计规范

引用原文(AN2586)All microcontrollers are designed for a variety of applications and often a particular application does not use 100% of the MCU resources.To increase EMC performance, unused clocks, counte

2014-04-11 13:36:08 5504

原创 赛盛EMC培训笔记(1)

EMC的概念  EMC=EMS+EMI  EMC:electromagnetic compatibility--电磁兼容性  EMI:electromagnetic interference--电磁干扰,主要表现为设备对外的辐射和传导干扰  EMS:electromagnetic susceptibility--电磁敏感度,主要说明设备的抗干扰能力EMC中的传导途径  电磁干扰可以通过无线辐射和电

2014-04-11 13:36:05 2612

原创 ucOS学习笔记(6)——一步一步移植ucOS到STM32

之前已经完成了基本的编译工作。今天早上开始写了几个基本的设备驱动,同时编写了两个简单的测试任务。其间出现几个问题。第一个问题是代码编译能通过,但是下载到板子上就是跑不动,根本运行不到main函数,估计是初始化系统部分存在一些问题,我也没有深入研究直接将stm32官方的stm32f10x_vector.s和现在的init.s整合得到以下的系统初始化代码,该代码能够保证测试任务LED流水灯正常运行。;

2014-04-11 13:36:03 864

原创 ucOS学习笔记(5)——一步一步移植ucOS到STM32

这两天看了下keil的编译连接相关文档得到以下一些信息:1.关于AREA--AREA是arm汇编中的段标志,它代表一个段的开始。所谓段是指一个独立的,被命名的,不可分割一组代码或者数据,一个单独的代码段是一个应用功能的最小单元。原文如下“sections are independent, named, indivisible seqnces of code or data. A single

2014-04-11 13:36:01 1147

原创 ucOS学习笔记(4)——一步一步移植ucOS到STM32

准备工作:1.到micrium官网下载最新的 OS在stm32上的移植资料。下载地址为:http://micrium.com/download/Micrium-ARM-OS-II-Cortex-M3.exe2.平台搭建:a.将1下载得到的文件解压得到micrium文件夹,并在Micrium\Software\ OS-II下用UV4创建一个 OS工程,配置CPU为STM32F101C8b.建立如图1

2014-04-11 13:35:59 2381

原创 ucOS学习笔记(3)——ucOS的数据结构

ucOS的数据结构中最核心的一个数据结构就是任务控制块数据结构,其他的数据类型都是围绕该数据结构展开的,任务切换,代码调度也都是以该数据结构为基础来完成的。认清了该数据结构就了解了ucOS的运行机制。任务控制块数据结构如下:typedef struct os_tcb {    OS_STK          *OSTCBStkPtr;           /* Pointer to current

2014-04-11 13:35:56 1795 1

原创 ucOS学习笔记(2)——多任务是如何实现的

ucOS是一个抢占式多任务操作系统,其核心就是人物调度机制,该机制保证了多个任务在一个MCU上并发执行。关于多任务实现我们就不得不谈一谈一段程序运行的上下文。所谓程序运行的上下文就是指一段代码(一般以函数为基本单位)运行过程中需要使用到的资源,这个资源被我称之为上下文。这些资源包括当前系统的基本工作寄存器,函数使用到的零时变量,全局变量等等。当这些资源被给定后我们无论在何时去执行一个给定的地址开始

2014-04-11 13:35:54 1942

原创 ucOS学习笔记(1)——为什么需要操作系统

1.操作系统可以显著降低开发难度。操作系统帮我们协调多个程序之间的耦合关系,比如我们需要将串口的接收到的数据显示在一块LCD上。传统做法是如图1所示 :图1.无操作系统流程该流程中当串口接收到数据再调用LCD显示程序将数据显示出来,而图2展示了一种基于操作系统的方法。在该方法中串口接收数据和LCD显示程序均以为自己独占CPU,各自都只是执行自己相关部分的工作,而什么时候显示到LCD屏幕,什么时候又

2014-04-11 13:35:52 1384

原创 转:电子电路工程师必备的20种模拟电路

4 推荐 对模拟电路的掌握分为三个层次:   初级层次:是熟练记住这二十个电路,清楚这二十个电路的作用。只要是电子爱好者,只要是学习自动化、电子等电控类专业的人士都应该且能够记住这二十个基本模拟电路。   中级层次:是能分析这二十个电路中的关键元器件的作用,每个元器件出现故障时电路的功能受到什么影响,测量时参数的变化规律,掌握对故障元器件 的处理方法;定性分析电路信号的流向,相位变化;定性分析信

2014-04-11 13:35:49 1130

原创 转:模拟信号隔离法则

作者:陈红雷   安华高科技在电机和电子设计中经常需要对模拟信号进行隔离。 模拟信号可以承载代表电压、电流、温度、压力、位置和流量等物理世界的信息,这些模拟信号通常必须在具有较大电平差,或者模块接地面间具有感应电气噪声的 场合,由一个电路模块传送到另一个。这些常见的电路问题可能会影响数据的精确性、破坏测量系统,甚至于威胁到使用者的安全。隔离放大器提 供了一个可以解决这些问题的简单且高性价比的方案。

2014-04-11 13:35:47 4723

原创 先放大还是先滤波?

通信系统中接收机对接收到的调制信号都需要经过滤波和放大处理。滤波的目的是消除带外噪声,放大的目的是将带内信号放大以方便后续的ADC采样处理。对于某一个特定的系统滤波和放大的先后顺序是有优劣之分的。调试中总结放大滤波接连顺序依据为:1.当接收到的信号带外噪声为主要矛盾,噪声幅度远远大于信号幅度,则需要先进行滤波,然后再放大。因为假设先对信号进行放大,接收到的信号噪声幅度较大,放大器将输出饱和,导致信

2014-04-11 13:35:45 10061

原创 I2C eeprom调试经验

在写本文之前我不得不痛批ST的comtex-M3的I2C做得实在是太烂了!就这样一个简简单单的I2C,需要无数多的配置,无数多的寄存器,无数多的标志位,难道ST的目标就是把简单的东西复杂化么?复杂了就难用。另一方面,ST官方给的I2C eeprom例程中while死等的语句比比皆是,本来I2C就做得复杂,还四处布满死等代码,很容易在使用中让系统死机。言归正传,前边的抱怨也是我调试I2C的起因。查过

2014-04-11 13:35:43 3464

原创 if else配对以及格式问题

工作中写过这样一段代码:                if((dev.protocal&0xf0)>=0x30)------------------------------------------------------------------条件A                    if(uart2plc_auto_flood(trace,(my_u8 *)(&seq_n),0x02,F1

2014-04-11 13:35:40 3238

原创 MATLAB位运算(转)

出处:http://blog.sina.com.cn/s/blog_53f29119010009qc.html由于matlab中默认的存储方式为双精度,因此,要正确的进行位运算,需要首先将存储方式改为整型。可用的函数int8, int16, int32,uint8, uint16, uint32。转换后即可进行位运算,之前若用format将显示格式改为16进制,可使结果更可读。 format指定显

2014-04-11 13:35:38 785

原创 关于字节对齐和运算顺序优先级的讨论

第一个问题:字节对齐在做一个小型通信系统时,为了方便通信帧解析以及数据存储,通过结构体定义了该数据帧的结构。代码写完之后进行系统调试,一切进展顺利,最后当调试到存储部分时出了问题,通过监视发现通讯帧结构正确但是存储数据始终不正确,经过深入分析发现系统中定义了如下一个结构体HostNode,在存储的时候采用sizeof运算符对HostNode结构体获取长度,按照设计该长度应该为6+2+1=9字节,而

2014-04-11 13:35:36 623

Embedded Software Architecture

详细地介绍了嵌入式软件开发过程中的几种常用架构,以及各自的优缺点和适用场景。 非常值得学习阅读!

2017-10-31

MATLAB的扩频码仿真设计与分析

扩频通信作为一种新型的通信体系, 是通信领域的一个重要发展方向, 它与光纤通信、卫星通 信一同被誉为进入信息时代的三大高技术通信传输方式。扩频通信具有很强的抗干扰性能, 其多址 能力、保密、抗多径等功能也倍受人们的关注, 在导航、通信、测控等领域都得到广泛应用

2010-07-13

EDA工具MODELSIM简介及计入门示例

modelsim是FPGA设计仿真的重要工具,功能强大,无论是前仿真后仿真中都表现出卓越的性能。该资料详细介绍了modelsim的基本使用流程,并给出实例,由浅入深,由易到难,循序渐进地讲解了modelsim的使用。非常适合初学者学习

2009-11-01

ARM嵌入式系统开发例程入门宝典

嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软 硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的 物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们 是整个系统的控制核心,提供人机交互的信息等。所以,嵌入式系统的开发通常 包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU或者SOC 器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要 涉及OS porting和应用程序的开发等,与此同时,软件中断调试和实时调试、 代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键

2009-11-01

PIC单片机编程设计及其开发环境介绍

PIC单片机是业界公认的在现场应用稳定性最好的单片机,这时与单片机本身的架构特点紧密相关的。本资料主要描述如何在PIC单片机上实现稳定,可靠的C程序。

2009-11-01

Linux编程白皮书——最新修改版

Linux编程白皮书,免费的哦!希望能够对你有所帮助!

2009-03-13

数字滤波器设计英文版

本书为数字滤波器设计参考手册,主要讲解了FIR及IIR的设计过程

2009-03-11

DSP入门开发综述及DSP器件选型

DSP入门开发综述,一本很好的DSP入门教材!主要讲解数字信号处理的优缺点,以及DSP器件选型等

2009-03-11

初学Linux的穷人Linux系统指令大全

本书简短精炼的讲解了linux系统的所有指令,同时对于每个指令的用法还给出了例子。推荐尤其是初学Linux的朋友阅读!

2009-03-11

空空如也

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

TA关注的人

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