自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 canfestival 学习

canfestival是canopen 通讯协议(ds301、ds302)的开源实现,不包含time stamp,和设备标准化协议(dsp401 dsp402.。。)。代码具有以下功能和约定。     canfestival默认4个TPDO和4个RPDO,1个SDO Server 1个SDO Client(见setNodeId()),     SDO支持expedit、segment、bl

2017-03-04 15:27:41 4243

原创 运放

<br />单电源  ac输入<br />有一ac信号在(-0.5v 0.5v)之间,想用放大并偏置至(0~3v),拟采用如下图所示电路<br />

2010-10-23 10:49:00 468

原创 变压器多路输出相互影响分析

“1.变压器不带负载,就没有负载电流,里面的电流为励磁电流,也就是说用于产生铁芯励磁的电流,也叫空载电流。空载电流是很小的,一般只有额定电流5%以下。<br />2.变压器带负载,会产生负载电流,进而表征出来的电流为空载和负载电流的和。由于三相磁路不同,磁路短的B相产生的励磁电流较AC相小,所以B相的电流会比AC相小。<br />变压器工作应该是初级通电后,先产生励磁电流励磁,然后产生感应电势使得次级产生感应电压,再在次级产生微小的空载电流。带了负载后初级次级再产生负载电流,<br />但此电流

2010-09-05 11:07:00 3657 1

原创 stm32调试

1、串口在干扰比较严重的地方会出现一直进中断,原因:ore置位,解决方法:顺序读取SR DR寄存器。2、在systick中做延时,只能小于256,其他的正常。原因:低级错误,定义为uint16_t,声明时候却是extern uint8_t.3、偶尔出现systick_handler进不去,停止在while语句。原因

2010-08-14 10:16:00 646

原创 stm32f103rc电路设计

输入:8路+4路隔离                                             12输出:8路隔离                                                     8通讯口:4路485(3*4隔离);1路232(2)          14AD输入:两路温湿度传感器:sht10         (2)  

2010-02-28 22:21:00 2548

原创 有趣代码

#include int main() { int a[5]={1,2,3,4,5}; int *ptr1=(int *)(&a+1); int *ptr2=(int *)((int )a+1); printf("%x,%x",ptr1[-1],*ptr2); return 0; } /*****************

2010-01-27 09:57:00 623

原创 vim使用

正常(normal)模式,缺省的编辑模式;下面如果不加特殊说明,提到的命令都直接在正常模式下输入;任何其它模式中都可以通过键盘上的 Esc 键回到正常模式。命令(command)模式,用于执行较长、较复杂的命令;在正常模式下输入“:”(一般命令)、“/”(正向搜索)或“?”(反向搜索)即可进入该模式;命令模式下的命令要输入回车键(Enter)才算完成。插入(insert)模式,输入文本

2010-01-09 09:46:00 432

转载 单端输入与差分输入

     单端输入,输入信号均以共同的地线为基准.这种输入方法主要应用于输入信号电压较高(高于1 V),信号源到模拟输入硬件的导线较短(低于15ft),且所有的输入信号共用一个基准地线.如果信号达不到这些标准,此时应该用差分输入.对于差分输入,每一个输入信号都有自有的基准地线;由于共模噪声可以被导线所消除,从而减小了噪声误差.单端输入时, 是判断信号与 GND 的电压差.     

2010-01-05 11:01:00 3095

原创 reti

reti与ret都恢复了PC(高低字节)值,reti恢复了中断逻辑以响应新的中断,否则同级和以下中断无效。ucos移植到c51时采用了模拟软中断的方法,实际上只是使用了一条reti指令。 

2010-01-04 11:07:00 721

转载 步进电机工作原理及驱动方法

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

2009-12-28 21:42:00 801

原创 GDB调试

no symbol “xx” in current context.      gcc加-ggdb参数也不行,后使用-dwarf-2参数有效,-gstabs+参数没试,应该也有效。

2009-12-24 16:34:00 441

原创 MinGW可以工作了

MinGW文件下载列表:                      binutils-2.19.1-mingw32-bin.tar.gz,            gcc-core-4.4.0-mingw32-bin.tar.gz,            gcc-core-4.4.0-mingw32-dll.tar.gz,             gcc-c++-4.4.

2009-12-24 15:59:00 518

原创 ucos---优先级

ucos是一个preemptive多任务实时内核,包括任务管理、时间管理、事件管理、内存管理等模块。 任务是一个无限循环的函数,优先级也是它的ID,数据结构是OS_TCB。优先级:数字越小优先级越高 ucos中该表由OSRdyGrp和OSRdyTbl[]两个变量替代。在调度过程中,寻找优先级最高的任务就是判断最低位的过程。假设OSRdyGrp=0b01000101(

2009-12-15 11:33:00 738

原创 类型提升

如下图所示,运算时,左箭头必定运行,上箭头根据两个操作数情况执行;参数赋值时,执行左箭头吗?赋值时,结果变为左值类型。              (TCPL2.7)Notice that floats in an expression are not automatically converted to double; this is a change from the

2009-12-09 09:42:00 399

原创 芯片

MCU:   89C51            C8051F330           STM32(CORTEX) 步进电机驱动芯片   allegra  a3977                           amis      30522/30532 光藕     低速     TLP521-1/2/4,4N25/26,PC817          

2009-12-08 17:26:00 702

原创 内存组织

 根据“函数调用 堆栈”文章总结,前面还应该有个操作系统的内存分布

2009-11-10 16:46:00 396

转载 函数调用 堆栈

 这段代码反汇编后,代码是什么呢?Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include stdio.h>long test(int a,int b){     a =

2009-11-10 16:03:00 542

转载 pc-lint

Keil:   1. 打开Keil μVision3,并打开需要检查的Project。   2. 打开Tools菜单,选择Setup PC-Lint...,打开PC-Lint Options窗口。   3. 点击右上角的四个编辑图标(New, Delete, Move Up, Move Down)来设置PC-Lint Include Folders。根据C源程序文件中包含的头文

2009-11-09 11:43:00 1571

原创 i2c

 关于ack:第9位数据,在master发送一个字节后,将SDA拉高,然后判断SDA,如果为低,说明slave响应,否则,传输数据没有成功。读取数据时,第9位将SDA拉低表示读取数据成功,继续读下一个数据,如果第9位不拉低表示读取完成,紧跟着执行STOP代码。

2009-11-08 16:18:00 449

原创 对于技术

     太沉湎于技术会让自己狭隘,C51 or FPGA都是一种手段,关键的关键是你能做什么东西,要做什么东西。假如让你设计一个产品,这时你是一个项目经理,要跟成本、时间、技术之间找出一个平衡点。你会突然发现从头设计会让自己很没底,如果以前的东西留下来,用来做原型样机有种幸福的感觉。    资料或知识整理是在项目完成后,留给自己的财富。

2009-11-07 16:40:00 367

原创 一句话知识点

 Keil C51中的double和float一样,都是32位,有效数字在7~8位之间。 关于INT16U增加可移植性的问题:     在特定编译器下, for 16位cpu,定义为typedef int INT16U;for 32位cpu,只要修改为typedef short INT16U既可保证移植。 关于位域:    位域一般不超过一个字长(int的位宽);   

2009-11-07 16:28:00 501

原创 c8051f330电路设计

 电源:输入是24V,要转成3.3V,而且电流也不大,找到的芯片有tps71533和lm2937-3.3,最后选择lm2937-3.3。jtag/c2:因为使用管脚少,采用C2方式,C2D上拉。          买的仿真器需要从目标板取电reset电路:没有外部reset电路,不知道有什么影响。osc:内部晶振。其他管脚没有处理:应用时设置为高电平

2009-11-02 09:29:00 1574

原创 nios自定义模块

ipcore: 硬件描述文档 *.v(行为模块、寄存器文件、接口) 驱动软件: 1)../inc/_regs.h 硬件接口,包括数据结构、常量和基本操作函数。                2)../hal/inc/_rountines.c                                 具体功能函数声明。                3)../hal/src/_

2009-10-28 09:18:00 622

原创 stack

       以前终于想明白了stack操作方式,前几天竟想不起来了,以为stack像弹夹一样操作,压一个,所有的都往下跑,可硬件实现也太繁琐了现在又明白了,栈顶是在下边的,所以就是压一个,sp地址减1,颠倒过来就像弹夹的方式了,呵呵

2008-10-20 16:01:00 500 1

空空如也

空空如也

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

TA关注的人

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