- 博客(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 4249
原创 运放
<br />单电源 ac输入<br />有一ac信号在(-0.5v 0.5v)之间,想用放大并偏置至(0~3v),拟采用如下图所示电路<br />
2010-10-23 10:49:00 469
原创 变压器多路输出相互影响分析
“1.变压器不带负载,就没有负载电流,里面的电流为励磁电流,也就是说用于产生铁芯励磁的电流,也叫空载电流。空载电流是很小的,一般只有额定电流5%以下。<br />2.变压器带负载,会产生负载电流,进而表征出来的电流为空载和负载电流的和。由于三相磁路不同,磁路短的B相产生的励磁电流较AC相小,所以B相的电流会比AC相小。<br />变压器工作应该是初级通电后,先产生励磁电流励磁,然后产生感应电势使得次级产生感应电压,再在次级产生微小的空载电流。带了负载后初级次级再产生负载电流,<br />但此电流
2010-09-05 11:07:00 3688 1
原创 stm32调试
1、串口在干扰比较严重的地方会出现一直进中断,原因:ore置位,解决方法:顺序读取SR DR寄存器。2、在systick中做延时,只能小于256,其他的正常。原因:低级错误,定义为uint16_t,声明时候却是extern uint8_t.3、偶尔出现systick_handler进不去,停止在while语句。原因
2010-08-14 10:16:00 651
原创 stm32f103rc电路设计
输入:8路+4路隔离 12输出:8路隔离 8通讯口:4路485(3*4隔离);1路232(2) 14AD输入:两路温湿度传感器:sht10 (2)
2010-02-28 22:21:00 2556
原创 有趣代码
#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 625
原创 vim使用
正常(normal)模式,缺省的编辑模式;下面如果不加特殊说明,提到的命令都直接在正常模式下输入;任何其它模式中都可以通过键盘上的 Esc 键回到正常模式。命令(command)模式,用于执行较长、较复杂的命令;在正常模式下输入“:”(一般命令)、“/”(正向搜索)或“?”(反向搜索)即可进入该模式;命令模式下的命令要输入回车键(Enter)才算完成。插入(insert)模式,输入文本
2010-01-09 09:46:00 434
转载 单端输入与差分输入
单端输入,输入信号均以共同的地线为基准.这种输入方法主要应用于输入信号电压较高(高于1 V),信号源到模拟输入硬件的导线较短(低于15ft),且所有的输入信号共用一个基准地线.如果信号达不到这些标准,此时应该用差分输入.对于差分输入,每一个输入信号都有自有的基准地线;由于共模噪声可以被导线所消除,从而减小了噪声误差.单端输入时, 是判断信号与 GND 的电压差.
2010-01-05 11:01:00 3124
原创 reti
reti与ret都恢复了PC(高低字节)值,reti恢复了中断逻辑以响应新的中断,否则同级和以下中断无效。ucos移植到c51时采用了模拟软中断的方法,实际上只是使用了一条reti指令。
2010-01-04 11:07:00 723
转载 步进电机工作原理及驱动方法
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Sty
2009-12-28 21:42:00 802
原创 GDB调试
no symbol “xx” in current context. gcc加-ggdb参数也不行,后使用-dwarf-2参数有效,-gstabs+参数没试,应该也有效。
2009-12-24 16:34:00 443
原创 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 519
原创 ucos---优先级
ucos是一个preemptive多任务实时内核,包括任务管理、时间管理、事件管理、内存管理等模块。 任务是一个无限循环的函数,优先级也是它的ID,数据结构是OS_TCB。优先级:数字越小优先级越高 ucos中该表由OSRdyGrp和OSRdyTbl[]两个变量替代。在调度过程中,寻找优先级最高的任务就是判断最低位的过程。假设OSRdyGrp=0b01000101(
2009-12-15 11:33:00 742
原创 类型提升
如下图所示,运算时,左箭头必定运行,上箭头根据两个操作数情况执行;参数赋值时,执行左箭头吗?赋值时,结果变为左值类型。 (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 400
原创 芯片
MCU: 89C51 C8051F330 STM32(CORTEX) 步进电机驱动芯片 allegra a3977 amis 30522/30532 光藕 低速 TLP521-1/2/4,4N25/26,PC817
2009-12-08 17:26:00 706
转载 函数调用 堆栈
这段代码反汇编后,代码是什么呢?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 544
转载 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 1573
原创 i2c
关于ack:第9位数据,在master发送一个字节后,将SDA拉高,然后判断SDA,如果为低,说明slave响应,否则,传输数据没有成功。读取数据时,第9位将SDA拉低表示读取数据成功,继续读下一个数据,如果第9位不拉低表示读取完成,紧跟着执行STOP代码。
2009-11-08 16:18:00 451
原创 对于技术
太沉湎于技术会让自己狭隘,C51 or FPGA都是一种手段,关键的关键是你能做什么东西,要做什么东西。假如让你设计一个产品,这时你是一个项目经理,要跟成本、时间、技术之间找出一个平衡点。你会突然发现从头设计会让自己很没底,如果以前的东西留下来,用来做原型样机有种幸福的感觉。 资料或知识整理是在项目完成后,留给自己的财富。
2009-11-07 16:40:00 368
原创 一句话知识点
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 505
原创 c8051f330电路设计
电源:输入是24V,要转成3.3V,而且电流也不大,找到的芯片有tps71533和lm2937-3.3,最后选择lm2937-3.3。jtag/c2:因为使用管脚少,采用C2方式,C2D上拉。 买的仿真器需要从目标板取电reset电路:没有外部reset电路,不知道有什么影响。osc:内部晶振。其他管脚没有处理:应用时设置为高电平
2009-11-02 09:29:00 1580
原创 nios自定义模块
ipcore: 硬件描述文档 *.v(行为模块、寄存器文件、接口) 驱动软件: 1)../inc/_regs.h 硬件接口,包括数据结构、常量和基本操作函数。 2)../hal/inc/_rountines.c 具体功能函数声明。 3)../hal/src/_
2009-10-28 09:18:00 625
原创 stack
以前终于想明白了stack操作方式,前几天竟想不起来了,以为stack像弹夹一样操作,压一个,所有的都往下跑,可硬件实现也太繁琐了现在又明白了,栈顶是在下边的,所以就是压一个,sp地址减1,颠倒过来就像弹夹的方式了,呵呵
2008-10-20 16:01:00 503 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人