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

📄 程序说明.txt

📁 1、程序目的:介绍AT91SAM7A3 SPI0的基本用法: 2、 功能说明: 利用SPI0接口读写外部DATAFLASH的数据
💻 TXT
字号:
程序说明:
一、开发环境
1、开发板:YF-02-A
2、仿真器:wiggle
3、开发软件:IAR4_30A-1_2



二、程序功能
1、程序目的:介绍AT91SAM7A3  SPI0的基本用法:
2、 功能说明: 利用SPI0接口读写外部DATAFLASH的数据,开发板上用到的是AT45DCB008。

三、开发板设置
 1、依据YF-02使用向导,设置好开发板.断开J13,J14
 2、在IAR环境下打开程序,插入DATAFLASH 卡,运行程序。
 3、用一条串口线,连接到PC机上,通过PC机的“超级终端”观察程序执行情况。
      超级终端的设置为:被特率:115200,数据位:8,
      停止位:1 ,奇偶校验:无,数据流控制:硬件
 4、在超级终端可以看到程序运行的结果(只打印出前255个字节的数据)。
 5、拔除DATAFLASH 卡看看远行结果有什么不同?

四、附加说明
   1、在ATMEL的lib_AT91SAM7S64.H中没有下面的函数,所以新建工程时,必须在此库文件中加上如下的函数:
    //*----------------------------------------------------------------------------
    //* \fn    AT91F_SPI_Status
    //* \brief Return SPI Status
    //*----------------------------------------------------------------------------
   __inline unsigned int AT91F_SPI_GetStatus( // \return SPI Interrupt Mask Status
        AT91PS_SPI pSpi) // \arg  pointer to a SPI controller
   {
     return pSpi->SPI_SR;
   }

   2、由于程序中SPI的时钟频率设置10M所以必须的将程序写到FLASH中测试才可能得到正确的结果。 用仿真调试的方法不能正常执行。

  5、程序设计是按DATAFLASH的特性以1056字节(一页)为为单位设计的,所以每次必须以1056字节为单位      对DATAFLASH进行操作。

  6、配置SPI接口时要注意,因为仅仅使用了4个I/O接口,其它没用到的要屏蔽掉,以免影响其性能,
      没有用到I/O口可以用作其它功能,不影响SPI工作。在AT91SAM7A3开发板上用到的是SPI1来读取                  DATAFLASH的!

 本程序中用到的配置如下:
//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI0_CfgPIO
//* \brief Configure PIO controllers to drive SPI0 signals
//*----------------------------------------------------------------------------
__inline void AT91F_SPI0_CfgPIO (void)
{
	// Configure PIO controllers to periph mode
	AT91F_PIO_CfgPeriph(
		AT91C_BASE_PIOA, // PIO controller base address
		//((unsigned int) AT91C_PA12_NPCS01  ) |
		((unsigned int) AT91C_PA15_MISO0   )    |
		((unsigned int) AT91C_PA14_NPCS03  )   |
		((unsigned int) AT91C_PA17_SPCK0   )    |
		((unsigned int) AT91C_PA16_MOSI0   )//  |
		//((unsigned int) AT91C_PA13_NPCS02  ) |
		//((unsigned int) AT91C_PA11_NPCS00  )
                             , // Peripheral A
	              0); // Peripheral B
}



四:附注
1、软件设计:张正锋
2、咨询电话: Mobile:13926575803
3、QQ:398426553
4、E-MAIL:embed_tech@126.com
5、MSN:zhangzhengfeng2008@hotmail.com

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
Q&A:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
在AT91SAM7A3开发板上使用AT45DCB008 DATAFLASH 卡时发现下列问题:

 1、AT45DCB008的DATASHEET说该卡的频率可达到20M,但在此测试程序中超过15M数据就不确,
     设置为20M时数据完全不能存入。

 2、DATAFLASH 卡不支持/* Main memory page through buffer 1, Fast program */使用该方式时,数据会出现错误。
     
 

        

⌨️ 快捷键说明

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