⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 k9f1g08u0m.c

📁 此案例为ARM2131+flash+QVGAtft+按键的读写显示控制程序
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Beijing Visionox Technology Co.,LTD.
**                                      
**                                 
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2007-03-016
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Alan Dong
** Created date:		2007-03-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:			AlanDong
** Modified date:		2007-03-20
** Version:				1.1
** Descriptions:		Read NandFlash data and send to TFT display successful
**
********************************************************************************************************/
#include "config.h"
#include "KEY_LED.h"
#include "TFT_LCD.h"

//void DisplayFlash(uint32 Fdata);




/*******************************************************************************************************/
void NF_Wait_RB()
{

while(!((IO1PIN>>25)&0x0001))
;
}	//Wait Nand ready
void Write_Data(unsigned char S_Page,unsigned char E_Page,uint32 block)//,uint32 block)
{
  uint32 i,j;
 unsigned char NF_DATA1[2];
  

  ////////////////////////////
  IO0SET=NAND_CLE;
  IO0CLR=NAND_CS;
  IO0CLR=NAND_WR;
  IO0CLR=NAND_ALE;
  IO0SET=NAND_RD;  
  IO1PIN=(IO1PIN&0xFF00FFFF)|0x00000000;
 // for(i=0;i<35;i++);
  IO0SET=NAND_WR;
  IO0CLR=NAND_CLE;
  IO0SET=NAND_ALE;
  //Send NandFlash adress
  IO0CLR=NAND_WR;
  IO1PIN=(IO1PIN&0xFF00FFFF)|(0x00000000<<16);
  IO0SET=NAND_WR;
  IO0CLR=NAND_WR;
  IO1PIN=(IO1PIN&0xFF00FFFF)|(0x00000000<<16);
  IO0SET=NAND_WR;
  IO0CLR=NAND_WR;
  IO1PIN=(IO1PIN&0xFF00FFFF)|((S_Page)<<16);
  IO0SET=NAND_WR;
  IO0CLR=NAND_WR;
  IO1PIN=(IO1PIN&0xFF00FFFF)|(block<<16);
  IO0SET=NAND_WR;
  //Send Read page instruction
  IO0CLR=NAND_ALE;
  IO0SET=NAND_CLE;
  IO0CLR=NAND_WR;
  IO1PIN=(IO1PIN&0xFF00FFFF)|(0x00300000);
 // for(i=0;i<30;i++);
  IO0SET=NAND_WR;
  IO0CLR=NAND_CLE;
  NF_Wait_RB();
  //Maybe,because of the arm's high speed,we need to wait period of time
 // for(i=0;i<350;i++);
 
 	
	 
  for(j=0;j<1024;j++)
  {
  IO1DIR=IO1DIR&(~NAND_DATA);//Set D0~d7 used as input port for NF read
  for(i=0;i<2;i++)		 
	{
  	IO0CLR=NAND_RD; 
  	NF_DATA1[i]=IO1PIN>>16; //Save  data to a arry  	
  	IO0SET=NAND_RD;
  	}  
  IO1DIR=IO1DIR|NAND_DATA;
  Write_data((NF_DATA1[0]<<8)|(NF_DATA1[1]<<16));			//
  
	}
}
void NF_Init(void)
{//uint32 i;
//  IO0SET=TFT_CS;			//Unable TFT LCD
  IO0CLR=NAND_ALE;
  IO0CLR=NAND_CLE;
  IO0CLR=NAND_CS;
  IO0SET=NAND_WR;
  IO0SET=NAND_RD;
//  IO1DIR=IO1DIR|NAND_RB;
//  IO1CLR=NAND_RB;
//  ;
 // ;
//  ;
  NF_Wait_RB();
//   for(i=0;i<350;i++);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -