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

📄 main.c

📁 实现ATmel公司的支持SPI总线的存储芯片AT45DB011B的存取操作
💻 C
字号:
/*****************************************************************
                       程序说明

   本程序的主要功能对支持SPI通信的AT45DB011B芯片的进行存取的演示性操作;
   AT45DB011B的基本函数可以在SPI.c文件中看到,里面也已经做了比较详细的说明。
   由于本程序只是演示性质的,所以是通过串口调试工具模拟来实现的,具体的存取操作可以
   开辟一个缓冲,然后在SPI.c中的文件中的各函数修改成用指针传送的形参,然后在子函数中
   使用循环发送/接收数据,这样的存储效率相对要高许多,由于时间关系,本程序未采取这样的
   方式,实验者可以试图尝试修改程序来实现。

   接线说明:
        将JP10的9,10端用短路帽接上。
		JP9的1,2端接上时,对芯片复位
		JP9的3,4端接上时,芯片写保护状态

  实验演示命令为:
       当发送A后紧跟一个字节的数据,实现的操作是把该字节存到AT45DB011B中;
       当发送BB后,返回的是刚才所写入的数据;

  author : zdq@hdu
  date   :2007.12.23
  any question please contact :zdq823@gmail.com


*************************************************************************/


#include<aduc834.h>
#include"..\headers\SPI.h"
#include"..\headers\Send.h"
Uchar  UART_BUF[2];
Uchar  UART_Counter ;
bit    UART_Rec_Over;

void main()

{
   Uchar Temp_Data;
   SPI_Init();
   Send_Init();

   while(1)
    {
	    if(UART_Rec_Over&&UART_BUF[0] == 'A')
		 {
	     UART_Rec_Over = 0;
         AT45_Mainmemory_Write(0x100,0x23,UART_BUF[1]);

		 }
	     else if(UART_Rec_Over&&UART_BUF[0] == 'B')
	     {
		  UART_Rec_Over = 0;
	 	  Temp_Data = AT45_Mainmemory_Read(0x100,0x23);
		  Send_Byte(Temp_Data);
      
         }
	 }
}



/*
void  delay_us(uint time)
{
        for  (;time>0;time--);
}

void  delay_ms(uint time)
{
   while (time>1)
      {
        delay_us(439);
        time--;
      }
}				*/

⌨️ 快捷键说明

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