|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
请问我的nand flash的端口该怎么初始化??? |
作者:yuxiong 栏目:ARM技术 |
我端口初始化是这样的,void Port_Init(void) { /* PC7 6 5 4 3 2 1 0 */ /* I I I I I I I I */ /* NC NC NC NC SMCALE SMCCLE SMCCE SMCRB*/ /* 00 00 00 00 01 01 01 00 */ rPCONA = 0x1ff; rPDATB = 0x3ff; rPCONB = 0x3ff; rPDATC = 0xffff; //All IO is high rPCONC = 0x0f000054; rPUPC = 0x3000; //PULL UP RESISTOR should be enabled to I/O rPDATD= 0xff; rPCOND= 0x0; rPUPD = 0x0; rPDATE = 0x1ff; rPCONE = 0x15569; rPUPE = 0x6; rPDATF = 0x0; rPCONF = 0x09250a; rPUPF = 0x1e3; rPDATG = 0xff; rPCONG = 0xffff; rPUPG = 0x0; //should be enabled rSPUCR=0x7; //D15-D0 pull-up disable /*定义非Cache区*/ rNCACHBE0=((Non_Cache_End>>12)<<16)|(Non_Cache_Start>>12); /*所有的外部硬件中断为低电平触发*/ rEXTINT=0x0; } #define RB (0x08) #define CE (0x10) #define CLE (0x04) #define ALE (0x08) #define rKM29UXDATA (*(volatile unsigned CHAR *)0x02000000) //bank1 /*KM29U128操作宏定义*/ #define FC_CMD {rPDATC|= CLE; rPDATF&=~CE; rPDATC&=~ALE;} //{rPDATC |= CLE; rPDATC &= ~(ALE|CE);} #define FC_ADDR {rPDATC|= ALE; rPDATF&=~CE; rPDATC&=~CLE;} //{rPDATC |= ALE; rPDATC&=~(CLE|CE);} #define FC_DATA {rPDATF&=~CE; rPDATC&=~(ALE|CLE);} //{rPDATC &= ~(ALE|CLE|CE); } #define FC_INACTIVE {rPDATF|= CE; rPDATC&=~(ALE|CLE);} //{rPDATA |= CE; rPDATC&=~(ALE|CLE);} #define WAITRB while(!(rPDATF&RB)) //while(!(rPDATC & RB)) //wait tWB and check R/B pin. #define KM29U128_ID (0xec73) #define WRITEVERIFY (1) 但这样连nand FLASH的id都读不出来,我看是端口初始化有问题,请问应该怎么改。他的r/b,ce不是接pc0,pc1。 我板的原理图是 * - 本贴最后修改时间:2005-3-2 10:08:24 修改者:yuxiong |
2楼: | >>参与讨论 |
作者: yuxiong 于 2005/3/2 10:10:00 发布:
原理图 |
3楼: | >>参与讨论 |
作者: yuxiong 于 2005/3/2 10:14:00 发布:
原理图3 |
|
|
Copyright © 1998-2006 tgdrjb.cn 浙ICP证030469号 |