自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kevinhg的博客

让 你 我 一 起 进 步 !

转载 虚拟内存如何设置最好?

一、什么是虚拟内存?虚拟内在有什么用处!  操作系统中所运行所有的程序全部都是经过内存提交给CPU然后才进行执行的,不过若是执行的程序占用内存很多或很大的话,则会导致内存消耗殆尽.为解决内在消耗殆尽的问题,Windows操作系统运用了虚拟内存技术,简单的说就是把一部分硬盘空间来充当内存使用,虽然硬盘在读写的速度上远远不及内存条的速度。但是可以有效的避免在内存消耗殆尽,而引起的系统崩溃的问题。而

2015-09-22 11:05:57 2790

转载 关于示波器地线的问题!

用信号发生器给板子输入信号,则示波器一般只能用于测试电路上某个节点和地之间的波形,如果测两个节点之间的波形,则探头上的地线可能会将地线后面其余的电路短路掉,所以,要想测两个节点间的波形,要合理的变换一下电路形式,或者做一些用于测试的附加电路。当然,你可以两次分别测不同的点,然后比较,或者用李育沙法测两个信号的相位差。       这是因为,为了保证电气上的安全,多数电子仪器的地线都通过电源

2015-09-02 23:16:00 7300 2

转载 浅谈单片机程序设计中的“分层思想”

“分层思想”并不是什么神秘的东西,事实上很多做项目的工程师本身自己也会在用。看了不少帖子都发现没有提及这个东西,然而分层结构确是很有用的东西,参透后会有一种恍然大悟的感觉。如果说我不懂LCD怎么驱动,那好办,看一下datasheet,参考一下别人的程序,很快就可以做出来。但是如果不懂程序设计的思想的话,会给你做项目的过程中带来很多很多的困惑。参考了市面上各种各样的嵌入式书籍,MCS-51,

2015-08-25 01:18:23 5356 3

转载 MCU实战经验:多种的按键处理

之前的一个项目按键比较多,面板上面有按键,遥控器,处理的稍微复杂一点,MCU使用的是STM8S005K6.关于按键部分的处理,现在拿处理来和大家分享一下,说的不对的地方还请各位大侠请教,大家共同进步。 按键通常分有IO口按键(BUTTON),AD按键(通过AD采样电压),IR(遥控器)按按键功能分:有短按键,长按键,连续按键。打个比方,遥控电视机,按一下音量键,音量增加1,这个就是

2015-08-25 00:04:41 11401 2

转载 精妙的单片机非阻塞延时程序设计

http://blog.chinaunix.net/uid-29673749-id-4425603.html  对于每个单片机爱好者及工程开发设计人员,在刚接触单片机的那最初的青葱岁月里,都有过点亮跑马灯的经历。从看到那一排排小灯按着我们的想法在跳动时激动心情。到随着经验越多,越来又会感觉到这个小灯是个好东西,尤其是在调试资源有限的环境中,有时会帮上大忙。但对于绝大多数人,我们在最

2015-08-23 00:23:33 6608 1

原创 STM32处理器存储空间布局解析

一、Cortex-M3支持最大4GB的存储空间,其地址映射关系如下图二、存储器映射实例:256KB Flash  48KB SRAMIROM1为片上程序存储器,即片上集成的Flash存储器,对该处理器Flash大小为256KB,即0x40000IRAM1为片上数据存储器,即片上集成的SRAM存储器,对该处理器Flash大小为48KB,即0xC000片上S

2015-05-09 11:28:15 4629

转载 strstr函数

函数原型:extern char *strstr(char *haystack, char *needle)参数说明:haystack为一个源字符串的指针,needle为一个目的字符串的指针。所在库名:#include 函数功能:从字符串haystack中寻找needle第一次出现的位置,但是该函数不比较结束符NULL。返回说明:返回指向第一次出现needle位置的指针,如果没找到

2015-04-30 10:15:35 2705

原创 C语言中memset函数详解

功能:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作。用法:void *memset(void *s, char ch, unsigned n);程序:#include #include #include int main(void){  char buffer[] =

2015-04-30 09:45:58 26849 5

转载 关于USART接收中断的BUG和注意事项

学习别人解决问题的方法!问题描述:在使用USART做串口通讯时,我只把接收中断打开,并设置抢占优先级为最低一个级别,而接收中断上一个优先级处理事情比较多,可能占用了2ms时间。当我使用9600波特率往下位机发送数据,速度非常快,就是一直按回车发!问题就出来,不到1分钟时间,通讯没有反应了。USART配置代码如下:void uart_config(void){ USART

2015-04-29 10:35:49 3987

原创 如何解决Keil5打红叉的问题

很多人换到Keil5,可能会遇到上图这个问题,这是keil新增的同步查错功能。一般情况下大家的项目编译通过了,也可以仿真运行了,以至于这些红叉看起来多余,实在是别扭。如何解决掉这些红叉呢?最好的办法就是关掉这个功能:Dynamic Syntax Checking。具体做法是 Edit - Configurations - Text Completion  然后可以看到左下角有一个 Dynami

2015-04-28 17:57:42 13907 1

转载 关于STM32与SD卡通信的一些思考与总结

SD的驱动和应用困扰了我很久,寒假的时候看到SD简化版物理层协议的时候就傻掉了,看到SD的驱动快3000行的代码也动摇了。这几天几种地看了一下SD卡的相关内容,总结了一些体会,感觉也没有那么恐怖了。我决定从分层上来讨论SD的驱动和应用,因为这样可以构建一个清晰的逻辑,且不知哪位计算机大师曾说过:一切计算机问题都可以用分层的方法来解决。我自己把SD卡从驱动到应用共分为4层,从下至上依次为:驱动层

2014-11-11 22:56:11 6194

转载 STM32串口第一个字节丢失问题的分析过程

STM32 串口 发送 必须 先检测 状态,否则 第一个 字节 无法 发出,发送完毕,必须检测发送状态是否完成,否则,发送不成功,使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。换成发送别的数值的数据,如0x06 0x0ff,则接收到0x0ff

2014-11-10 23:39:19 21841 5

转载 为什么采用4~20mA的电流来传输模拟量?

大家可能会非常熟悉RS232,RS485,CAN等工业上常用的总线,他们都是传输数字信号的方式。那么,我们用什么方式来传输模拟信号呢?工业上普遍需要测量各类非电物理量,例如温度、压力、速度、角度等,这些都需要转换成模拟量电信号才能传输到几百米外的控制室或显示设备上。工业上最广泛采用的是用4~20mA电流来传输模拟量。采用电流信号的原因是不容易受干扰,因为工业现场的噪声电压的幅度可能达到数V

2014-10-29 11:25:23 22751

原创 STM32中断优先级概念

一:综述STM32 目前支持的中断共为 84 个(16 个内核+68 个外部),16 级可编程中断优先级的设置(仅使用中断优先级设置 8bit 中的高 4 位)和16个抢占优先级(因为抢占优先级最多可以有四位数)。二:优先级判断STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两

2014-10-24 11:09:03 4494

原创 sprintf函数的用法

1、该函数包含在stdio.h的头文件中。#include 2、sprintf与printf函数的区别sprintf和平时我们常用的printf函数的功能很相似。sprintf函数打印到字符串中,而printf函数打印输出到屏幕上。sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛。3、sprintf函数的格式:int spri

2014-10-23 23:38:16 76656 1

原创 标志位和中断位的区别:USART_ClearFlag和USART_ClearITPendingBit

实际上两个函数实现的功能是一样的,都是清除相对应的标志位,只是标志位和中断位含义不一样,是标志位但是不一定会产生中断。例如:#define ADC_IT_EOC                                 ((uint16_t)0x0220)#define ADC_IT_AWD                                 ((uint16_t)0x014

2014-10-23 10:37:05 16629

转载 STM32串口中断接收方式详细比较

本例程通过PC机的串口调试助手将数据发送至STM32,STM32通过SP3232芯片采用中断接收方式完成,然后接收数据后将所接收的数据又发送至PC机。实例一:void USART1_IRQHandler(u8 GetData){ u8 BackData;if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //中断产

2014-10-17 14:54:55 17918

转载 关于STM32的变量定义

今天调试程序时,想观察一下变量的情况,突然发现平时经常移植别人程序时最容易忽略的一个致命问题,那就是忽略变量类型,这里有必要给大家一定知识啦,都是库里面的,非原创!3.0以后的版本中使用了CMSIS数据类型,变量的定义有所不同,但是出于兼容旧版本的目的,以上的数据类型仍然兼容。CMSIS的IO类型限定词如表 5‑7所示,CMSIS和STM32固件库的数据类型对比如表 5‑8所示。这些数

2014-10-15 19:03:57 10822

转载 STM32串口发送中断

SECTION 11234567891011121314151617181920212223242526272829303132333435/*调试STM32串口过程中发现一个奇怪的问题,初始化串口1口,使能串口发送

2014-10-14 22:00:59 46472 5

原创 STM32中关于串口通信的printf()函数重定向问题

在STM32串口通信程序中使用printf发送数据,非常的方便。可在刚开始使用的时候总是遇到问题,常见的是硬件访真时无法进入main主函数,其实只要简单的配置一下就可以了。下面就说一下使用printf需要做哪些配置。有两种配置方法:一、对工程属性进行配置,详细步骤如下1、首先要在你的main 文件中 包含“stdio.h” (标准输入输出头文件)。2、在main文件中重

2014-10-12 12:42:36 16497 2

转载 共模电压和差模电压

共模电压(common mode voltage):在每一导体和所规定的参照点之间(往往是大地或机架)出现的相量电压的平均值。或者说同时加在电压表两测量端和规定公共端之间的那部分输入电压。差模电压(differential mode voltage):一对导线上电压的差值;共模、差模正是“输入信号”整体的属性,差分输入可以表示为 vi = (vi+ , vi-); 也可以表示为vi = (

2014-08-05 12:52:43 13597

转载 怎么样从一个疯狂下载者成为一个学习者(转)

看了这篇文章。感触颇多1!说的好像是我。。硬盘里堆的满满的从来没看过的东西!回头想看的时候却不知道从哪里看起。。。让我们从一个下载者变成学习者吧!! 为了方便广大网友,各种网站也应运而生。当网络的建设和发展正进行的如火如荼,喧闹之中,搭配学习这壶美酒的,竟是一瓶名叫资料下载的毒药,更糟糕的是,美酒和毒药已经被灌到了同一个杯子里,浑然一体 ,叫人在畅美中不知不觉走进地狱。 简单的设置,方便的软件

2014-06-19 22:04:57 2068 4

转载 晶体三极管反相器

一、反相器的工作原理          反相器又称“非门”。图3.10 (a)和(b)分别给出了晶体三极管反相器的电路图和逻辑符号。图中,负电源UB的作用是保证输入ui为低电平时晶体管T能可靠截止。                                  图中,二极管DQ和电源UQ组成钳位电路,使输出高电平稳定在规定的标准值(3.2

2014-03-12 10:57:38 3299

转载 编码与码制

数字系统的主要功能是处理信息。因此必须将信息表示成电路能够识别,便于运算存储的形式。信息主要有两类:数值信息和非数值信息。数值:可以用来算数运算的数据。如张三的学习成绩考了多少分。非数值:不能用来算数运算的数据。如某球员球衣上的编号。数值的表示方法:进制。非数值的表示方法:编码。       在数字技术中,常用二进制码0和1来表示文字符号信息,这种特定的二进制码称为代码。如:计算机键盘上面的字

2014-02-16 22:56:07 3272 1

转载 放大器和比较器的区别

一、放大器与比较器的主要区别是闭环特性     放大器大都工作在闭环状态,所以要求闭环后不能自激。而比较器大都工作在开环状态,更追求速度。对于频率比较低的情况,放大器完全可以代替比较器(要主意输出电平),反过来比较器大部分情况不能当作放大器使用。    因为比较器为了提高速度进行优化,这种优化却减小了闭环稳定的范围。而运放专为闭环稳定范围进行优化,故降低了速度。所以相同价位档次的比较器

2013-12-30 13:26:29 4928

原创 使用直流稳压电源时的注意事项!

一、直流稳压电源的基本功能       直流稳压电源一般具有多路输出:比如提供一路固定输出为5V、2A;提供二路(A路、B路)可调输出为0~24V、0~1A。可调输出一般都具有稳压、稳流两种工作方式,这两种工作方式随负载变化而进行自动转换,并由仪器前面板上的发光二极管显示出CV、CC方式,一般绿灯表示CV(稳压)、红灯表示CC(稳流)。有些稳压电源还同时提供A路和B路串联工作和主从跟踪工作方式

2013-12-28 17:35:32 18774 1

转载 STM32时钟配置方法详解

一、在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。①HSI是高速内部时钟,RC振荡器,频率为8MHz。②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。③LSI是低速内部时钟,RC振荡器,频率为40kHz。④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。⑤PLL为锁相环倍频输出,其时钟输入源可

2013-12-24 00:38:34 128711 12

转载 STM32中GPIO的8种工作模式!

1、GPIO_Mode_AIN                 模拟输入2、GPIO_Mode_IN_FLOATING 浮空输入3、GPIO_Mode_IPD                下拉输入4、GPIO_Mode_IPU                上拉输入5、GPIO_Mode_Out_OD           开漏输出6、GPIO_Mode_Out_P

2013-12-22 22:54:39 83396 11

原创 fsolve函数求解非线性方程

对于非线性方程组F(X)=0,用fsolve函数求其数值解。fsolve函数的调用格式为:X=fsolve('fun',X0,option)其中X为返回的解,fun是用于定义需求解的非线性方程组的函数文件名,X0是求根过程的初值,option为最优化工具箱的选项设定。最优化工具箱提供了20多个选项,用户可以使用optimset命令将它们显示出来。如果想改变其中某个选项,则可以调用optim

2013-12-17 21:58:47 26683 2

转载 ARM7还是ARM9?uCOS还是Linux?

一. 谈谈ARM7与ARM9的区别:本文是写给准备学习ARM技术,而又没想好要学ARM7还是ARM9或者对ARM7与ARM9的区别不是很了解的初学者。希望本文对你们有点用处。由于职业的关系,经常会回答一些ARM初学者的问题,虽然问题千奇百怪,但以下两个问题绝对很有代表性。ARM7和ARM9都有些什么区别?我准备学ARM,但不知是选ARM7还是ARM9好? 也许这些问题在大虾们的

2013-12-16 23:20:41 11825

原创 怎样测试运算放大器的输入失调电压?

运放输入失调电压是指输入信号为零时,输出端出现的电压折算到同相输入端的数值。运放输入失调电压测试只要将运放连接成差分放大电路(也称减法电路),再将两个输入端短接之后接地即可。为了方便测量,可设置较大的增益,如1001倍,输出电压除以1001就是输入失调电压。取RF=R3=100kΩ,R1=R2=100Ω,将Ui1和Ui2同时接地,Uo/1001就是输入失调电压。

2013-12-12 23:38:10 9876

转载 模拟电路推荐学习书单

1、《运算放大器应用手册:基础知识篇》   黄争 著 电子工业出版社      《数据转换器应用手册:基础知识篇》   黄争 著 电子工业出版社        两本书皆为TI大学计划部黄争先生的作品2、《德州仪器高性能模拟器件在高校中的应用及选型指南》        此书为TI大学计划部黄争先生为TI杯模拟电子设计竞赛所作,书中用通俗易懂地方式阐述了很多模拟电路中的概念,另外此书当

2013-12-12 12:53:08 4519

转载 生活用电安全常识:零线与地线的区别!

一、火线地线零线    为了使交流电有很方便的动力转换功能, 通常工业用电,三根正弦交流电。电流相位(反映电流的方向大小)相互相差120度。通常我们将每一根这样的导线称为相线(火线),通常电力传输是以三相四线的方式,三相电的三根头称为相线,三相电的三根尾连接在一起称中性线也叫"零线"。叫零线的原因是三相平衡时刻中性线中没有电流通过了,再就是它直接或间接的接到大地,跟大地电压也接近零。地线是把设

2013-12-08 23:43:41 3933

原创 零线和地线的区别,示波器如何测量市电?

一、零线和地线区别零线是在供电端(发电厂、变电站、变压器)接地,或在入户前重复接地,是工作接地线,是输电线路的一部分,电流经电厂→火线→负载→零线反回电厂。地线在用户端接地,和用电电器的金属外壳或人体可触部位连接,使机壳与大地等电位,保护人体不触电。零线不与输电线路构成回路,正常情况下没有电流。注意两者的区别:1.零线和地线这两个是不同的概念,不是一回事,千万别互换或混接。2.地线的对

2013-12-08 23:34:28 15531 2

转载 TDD与FDD技术对比

双工(Duplex)是一种在单一通信信道上实现双向通信的过程,包括两种类型,分别为半双工和全双工。  在半双工系统中,通信双方使用单一的共享信道轮流发送数据。双向广播就采用了这种方式。在一方发送数据时,另一方只能收听。数据发送方通常会发出“Over”的信号,表明本方数据发送结束,对方可以开始发送数据。在实际网络中,两台计算机可以使用一根通信电缆来轮流收发数据。  全双工则是指同时的双向通信

2013-12-05 23:10:26 2745

转载 解读4G发牌事件,了解下4G那点事!

转载:http://blog.sina.com.cn/s/blog_6c7e111d0101kj68.html今天下午,工业和信息化部发布了个消息,把吵吵近一年的4G牌照问题初步明确了,这对移动互联网的推动是个大事,我站在与三大运营商利益无关的超然角度上,给大家讲讲这个故事。1、故事要两大国际标准说起IT界早就流传着一句话“一流企业做标准、二流企业做品牌、三流企业做产品”,做标准貌似没

2013-12-05 14:51:59 1064

原创 如何让Keil MDK兼容Keil C51?

原来用51单片机,使用的是Keil C51 uVision V4.02;最近搞STM32,装了keilMDK uVision V4.23。原来我是先装keilC51,后装keilMDK的,装在不同的目录里,装完之后不管是51工程还是stm32工程默认都会用keilMDK打开,这样打开51工程时会出错,所以要打开51的工程必须先打开keilC51程序,然后再程序里打开工程文件。下面这个方法可

2013-11-26 22:23:09 17919 4

原创 集成运算同相放大器和反向放大器的选择

集成运算放大器可以接成同相放大也可以接成反相放大,那使用同相放大好还是反相放大好呢?我们先来看同相放大和反相放大的区别:同相放大器优点:输入阻抗和运放的输入阻抗相等,接近无穷大缺点:放大电路没有虚地,因此有较大的共模电压,抗干扰能力相对较差,使用时要求运放有较高的共模抑制比,另一个小缺点就是放大倍数只能大于1;反相放大器优点:两个输入端电位始终近似为零(同相端接地,反相端虚地)

2013-11-21 22:50:42 13621

原创 栅极电阻与泄放电阻

栅极与源极之间加一个电阻,这个电阻起到什么作用?一是为场效应管提供偏置电压;二是起到泻放电阻的作用:保护栅极G-源极S;第一个作用好理解,这里解释一下第二个作用的原理——保护栅极G-源极S:场效应管的G-S极间的电阻值是很大的,这样只要有少量的静电就能使他的G-S极间的等效电容两端产生很高的电压,如果不及时把这些少量的静电泻放掉,他两端的高压就有可能使场效应管产生误动作,甚至有可能击穿

2013-10-11 14:10:03 10428 1

转载 示波器上mode选择开关上的norm和auto是什么意思?

在使用示波器时,一个最基本的问题就是如何使得被显示的波形稳定下来。这就涉及到触发操作,触发操作是示波器使用中较难掌握的操作技能。因为它涉及到示波器的触发原理  示波器中是通过扫描来显示被测信号的,每次扫描都显示被测信号的一部分。要使得被显示的波形是稳定不变的,就必须做到每次所显示的波形是完全一样的,即重叠的。对于周期信号来说,只要每次扫描所显示的波形起始相位是相同的,那么每次所显示的波形就是相

2013-10-08 15:27:55 3759

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