- 博客(24)
- 资源 (9)
- 收藏
- 关注
转载 Protel元件库转Cadence元件库
最近一直用Cadence画电路图,而原来很多元件的封装库都已经在protel中建好了,为了减少工作量,想把protel里面的封装库直接转化为allegro的封装库,在网上找了一些资料看,总算转成功了,下面总结如下: 1、在protel中将需要转化的元件放置到一张空的PCB中,并将这个PCB文件用protel PCB 2.8 ASCII的格式导出(注意导出路径最好不要有中文)
2014-11-19 17:02:32
3274
原创 protel99多张原理图做成一张PCB
多张原理图画成一张PCB,也叫做分层次设计原理图,网上说了很多方法,我这里只总结了最简单的方法:1.绘制多个原理图SCH文件2.新建一个总的SCH文件,例如main.sch,执行Design—Create System From Sheet...命令,选择一个SCH文件,回车确认. 这样将之前的一份原理图变成一个图标加入到了main.sch中,重复操作将所有原理图都以图标形式加入进
2013-03-16 15:48:09
8898
原创 protel99技巧总结
1、添加层,在Design->Layer Stack Manager中,中文版没有此功能,要添加层可以先在别的电脑英文版中添加好,再导入到中文版中就有了2、Protel99se 对四核CPU兼容不好,需要在网上下个补丁(本人下载资源里有)3、用个鼠标补丁,可以滚轮放大缩小,效率将大大提高(本人下载资源里有)4、文件越来越大是因为没在Design Utilities里选取Perform
2012-12-08 16:52:43
1464
转载 强力删除文件
碰到只读文件时的强力删除方法以Adobe为例,卸载后文件路径Adobe\Acrobat 8.0\Resource\CMap\ 里面的Adobe-GB1-GBK-EUC等类似文件无法删除,令人头大。现找到一种成功删除的方法:选中Adobe-GB1-GBK-EUC等文件,单击右键-属性-安全-“组或用户名”内选择“管理者”-勾选“完全控制”-“应用”
2012-11-13 16:09:00
1536
原创 LPC17XX串口接收数据死机现象解决办法
写了段串口接收的函数gprs_callback放到串口中断中,如下:void gprs_callback(void){ if(GprsCnt GprsReceive[GprsCnt++] = LPC_UART2->RBR;}其中变量都是定义volatile的公共变量,但是发现程序极不稳定,常常运行一会就死机。 后来发现先把RBR送给一个局部变量,再送给公共变量就没
2012-06-22 09:35:14
4329
原创 指针强制转换
假设一个函数void File_Name(char *fn)作用是给一个char类型的数组赋值,但是现在要用此函数给一个unsigned char类型的数组fn1赋值,KEIL就会警告:warning: #167-D: argument of type "unsigned char *" is incompatible with parameter of type "char *"这时后
2012-06-01 18:31:41
5259
原创 GPRS模块初始化流程(不断完善中)
推荐模块初始化流程 AT //确认串口正常,模块出厂默认波特率=9600 OK ATE0 //关闭回显 OK AT+CPIN? //检查SIM工作是否正常 +CPIN: READY OK AT%SLEEP=0 //关闭睡眠模式,GTM900-A模块默认是开启睡眠模式的,睡眠后,可以降低功耗,但是睡眠后的第一条AT指令会不响应 OK AT+CREG=1 //设
2012-05-12 09:55:04
10388
原创 startup_stm32f10x_xx.s 启动代码文件选择
整体感觉stm32给的库文件太琐碎了,正如它的芯片型号一样繁多,例如启动文件:网上查到的各个文件的解释是:startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_hd_vl.
2012-05-08 11:48:37
20474
转载 CRC32校验C代码
CRC32校验C代码来自 http://www.ec66.com/article/list.asp?indexid=4251 /* CRC-32b version 1.03 by Craig Bruce, 27-Jan-94**** Based on "F
2011-09-19 11:20:13
2187
原创 在KEIL RVMDK 下为单一C文件生成.LIB文件
在KEIL realview MDK下为单一C文件生成.LIB文件 查了一个下午,竟然没有一个网页完整的说清楚的这个问题,莫非太简单了大家不屑于说?看大多数说的都是简单地将整个工程转换成.LIB,在Project->Options for Target->Output下,
2011-09-08 19:24:43
21247
1
原创 什么是虚拟服务器
什么是虚拟服务器?简单来将,对于一个通过路由器搭建的局域网,当广域网上有对这个局域网共有IP访问时,路由器会将访问转移到局域网内某个特定的电脑上,这个功能是通过对路由器设置完成的。举个例子,如果你想建立一个服务器,供internet 上的用户访问,比如做一个公司的网站,一般情
2011-08-25 10:33:06
5512
原创 Protel Analyzing GND
覆铜后,只要稍微有点操作,Protel都卡3秒,仔细看屏幕下方,在卡的时候有显示Analyzing GND。很奇怪,因为之前没有这现象。结合网上的搜索,突然想想起来上午的时候,为了看GND NET,选了view->connection->show net,就是把各个GND N
2011-08-02 16:16:56
4531
原创 KEIL MDK 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释
<br />KEIL RVMDK编译后的信息<br /> <br />Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 <br /> <br />Code是代码占用的空间,RO-data是 Read Only 只读常量的大小,如const型,RW-data是(Read Write) 初始化了的可读写变量的大小,ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不
2011-02-15 16:48:00
37651
6
原创 强制关闭进程方法
<br />最近给ARM下载用的FLASH magic tool总是中途死机,进程通过一般办法还终止不了,重启电脑也关不上,只能强行关机。于是找到下面强制关闭进程的方法: <br /><br />在命令提示符下,tasklist可以列出当前运行的所有进程名称、PID以及内存占用量。<br />而ntsd命令就可以强制关闭进程:ntsd -c q -p PID。<br />tskill命令也可以:tskill PID/PNAME。其中PNAME是希望关闭的进程名称,不加扩展名的。<br /
2010-11-15 10:46:00
4456
原创 使用KEIL模板程序时遇到函数undefined symbol函数
<br />使用KEIL CMSIS 例程模板注意在各个模块源文件lpc17xx_xxx.c中,例如ADC, PWM, GPDMA中都有一句 #ifdef _ADC 或 _PWM 或 _GPDMA,但与之对应的 lpc17xx_libcfg.h并没有定义,所以使用这些功能时要在lpc17xx_libcfg.h定义 <br />#define _ADC 1 <br />#define _PWM 1 <br />#define _GPDMA 1
2010-10-26 17:17:00
6206
原创 符号英文名
<br />给字库代码做注释,有些符号的英文名字闹不清,整理一下共大家参考<br />~ Tilde <br />! Bang <br />@ At <br /># Hash/Pound <br />$ Dollar <br />% Percent <br />^ Circumflex <br />& And <br />* Star<br />( Left Round Bracket <br />) Right Round Bracket <br />_ Under Line <br />- H
2010-09-07 11:58:00
1478
原创 KEIL MDK 的优化
用KEIL MDK uVision4,如下程序,GPS_flg 是一个全局变量,当有GPS数据时就会中断被置1,结果我在while(1)外面判断GPS_flg就始终为0,进入死循环出不来,在while(1)里面就可以判断到GPS_flg为1,最后找不到问题,把优化level1改成level0就好了。折腾了半天时间,难道优化这么恐怖? main() {... while(GPS_flg == 0) {;} while(1) { if(GPS_flg == 0) i++;
2010-08-18 08:43:00
5240
翻译 LPC17XX PLL initializiion
<br />网页编辑跟C文件格式不同,注释不对齐。<br /> <br />注意LPC_SC->CCLKCFG = CCLKCFG_Val;不能放到PLL0配置之后!<br /> <br />#define CLOCK_SETUP 1<br />#define SCS_Val 0x00000020 <br /> /* Set Main oscillator 12MHz as system clock
2010-06-03 18:25:00
2536
原创 NVIC中断使能
一直担心范例的中断的初始化或相互冲突,例如初始化一个外部中断范例中的函数是DWORD EINTInit( void ){ NVIC_InitTypeDef NVIC_InitStructure; PINSEL4 = 0x00100000; /* 设置set P2.10为EINT0以及设置P2.2~5为输出GPIO */ IO2IntEnF = 0x200; /* Port2.10为下
2010-05-14 09:29:00
6461
原创 使用KEIL MDK新建工程注意的问题
1、选择Options for targer的Device栏里选择指定芯片2、在Output栏里选择 Create HEX File,否则生成不了HEX文件,无法用Flashmagic烧写3、新添加的.C文件,一定要在C/C++栏里Include Path添加此文件所在路径,例如在当前project文件夹里的SSP文件夹,则为../SSP;
2010-05-11 17:01:00
2014
原创 LPC17XX SSP KEIL
自己写的SSP0/1驱动,SSP0测试通过 #include "lpc17xx.h" /* LPC17xx Peripheral Registers */#include "type.h"#include "nvic.h"#include "ssp.h"/***************************************************************
2010-05-11 16:14:00
5496
原创 KEIL MDK中 warning: #223-D: function "xxx" declared implicitly 解决方法
今天在EINT的范例里添加了一个函数,即eint.c中添加了一个datawrite()的函数,并在主函数main.c中调用,编译便警告warning: #223-D: function "datawrite()" declared implicitly很奇怪,在eint.c中也有初始化函数EINTInit()同样在main.c中调用没有问题,问什么偏偏这个不行。 但毕竟是个警告
2010-05-03 16:07:00
208959
17
原创 KEIL Real view MDK中插入空操作NOP
折腾了大半天,才搞明白一个空操作的指令 先在网上查有的说是__asm{NOP;},从intrins.h里调用,可犄角旮旯全找了,也没看到什么intrint.h的文件。如果直接用,就出现error: #1113: Inline assembler not permitted when generating Thumb code 最后搜索这条错误,知道是因为__asm("指令")
2010-05-02 00:48:00
21817
3
原创 BYTE,WORD,DWORD
最近在看LPC1766的KEIL例程,里面变量类型都是BYTE与WORD,DWORD,并不是常见的char,int等,查type.h,看到它们的定义如下: typedef unsigned char BYTE;typedef unsigned short WORD;typedef unsigned long DWORD;typedef unsigned int BOOL
2010-05-01 10:31:00
2877
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人