• 大小: 8.65MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-04-01
  • 语言: 其他
  • 标签: STM32F407  SPI  FLASH  DMA  

资源简介

基于正点原子的STM32F407 SPI FLASH采用DMA方式读写数据,可直接运行在STM32F407探索者上。

资源截图

代码片段和文件信息

/*******************************************************
* Copyright (c) 2015湖南农业大学机器人小组
* All rights reserved.
*
* 文件名称:bsp_at24cxx.c
* 文件摘要:at24c02驱动程序
* 标    识:打开文件如果中文乱码,请将文字编码格式设置为UTF-8
*
* 当前版本:1.0
* 作    者: 黄杰
* 完成日期:2015年11月25日
*
* 取代版本:NONE
* 原 作 者:NONE
* 完成日期:NONE
*************************************************************/


#include “bsp_at24cxx.h“
#include “bsp_iic_soft.h“



/**
  * @breif  The at24cxx test funcion.
  * @param  None
  * @retval RES_OK  -- pass the test.
            RES_ERR -- can‘t pass the test
  */
static FunState _at24cxx_test(void)
{
uint8_t data = 0;
/* eeprom里面有值,直接进行读取 */
IIC_ReadByte(AT24CXX_ADDR 0xFF &data);
if(data == 0xFF)
{
return RES_OK;
}
else
{
/* eeprom无值,先写入,再读取 */
IIC_WriteByte(AT24CXX_ADDR 0xFF 0xFF);
IIC_ReadByte(AT24CXX_ADDR 0xFF &data);
if(data == 0xFF)
{
return RES_OK;
}
}
return RES_ERR;
}

/**
  * @breif  The at24cxx init funcion.
  * @param  None
  * @retval RES_OK  -- pass the init.
            RES_ERR -- can‘t pass the init
  */
FunState bsp_at24cxx_init(void)
{
if( RES_ERR == _at24cxx_test() )
{
return RES_ERR;
}
return RES_OK;
}



/**
  * @breif  The at24cxx write byte funcion.
  * @param  addr -- the data_addr we need write.
  * @param  data -- the data we need write.
  * @retval RES_OK  -- pass the write operation.
            RES_ERR -- can‘t pass the write operation.
  */
FunState AT24Cxx_WriteByte(uint8_t addr uint8_t data)
{
if( RES_OK != IIC_WriteByte(AT24CXX_ADDR addr data) )
{
return RES_ERR;
}
return RES_OK;
}



/**
  * @breif  The at24cxx read byte funcion.
  * @param  addr -- the data_addr we need read.
  * @param  data -- the data we need read.
  * @retval RES_OK  -- pass the read operation.
            RES_ERR -- can‘t pass the read operation.
  */
FunState AT24Cxx_ReadByte(uint8_t addr uint8_t *data)
{
if( RES_OK != IIC_ReadByte(AT24CXX_ADDR addr data) )
{
return RES_ERR;
}
return RES_OK;
}




/**
  * @breif  The at24cxx write bytes funcion.
  * @param  start_addr -- the start data_addr we set.
  * @param  buffer -- the point of buffer.
  * @param  length -- the size of buffer.
  * @retval RES_OK  -- pass the write operation.
            RES_ERR -- can‘t pass the write operation.
  */
FunState AT24Cxx_WriteBytes(uint8_t start_addr 
                            uint8_t *buffer
uint16_t length)
{
if( RES_OK != IIC_WriteBytes(AT24CXX_ADDR start_addr buffer length) )
{
return RES_ERR;
}
return RES_OK;
}


/**
  * @breif  The at24cxx write byte funcion.
  * @param  start_addr -- the data_addr we need read.
  * @param  buffer -- the point of buffer.
  * @param  length -- the size of buffer.
  * @retval RES_OK  -- pass the read operation.
            RES_ERR -- can‘t pass read write operation.
  */
FunState AT24Cxx_ReadBytes(uint8_t start_addr
                        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-11-26 16:50  BSP_PRJ\
     目录           0  2015-11-25 17:13  BSP_PRJ\APP\
     目录           0  2015-11-25 17:13  BSP_PRJ\APP\INC\
     目录           0  2015-11-25 17:13  BSP_PRJ\APP\SRC\
     目录           0  2015-11-28 08:48  BSP_PRJ\CORE\
     文件      109142  2014-07-17 21:52  BSP_PRJ\CORE\core_cm4.h
     文件       22735  2014-07-17 21:52  BSP_PRJ\CORE\core_cm4_simd.h
     文件       17146  2014-07-17 21:52  BSP_PRJ\CORE\core_cmFunc.h
     文件       20513  2014-07-17 21:52  BSP_PRJ\CORE\core_cmInstr.h
     文件       29605  2014-08-02 00:12  BSP_PRJ\CORE\startup_stm32f40_41xxx.s
     文件      704188  2015-11-28 08:48  BSP_PRJ\CORE\stm32f4xx.h
     文件      704095  2014-08-01 22:30  BSP_PRJ\CORE\stm32f4xx.h~RF19011d8.TMP
     文件      704094  2015-11-25 19:58  BSP_PRJ\CORE\stm32f4xx.h~RF2a43ddb.TMP
     文件      704171  2015-11-26 00:59  BSP_PRJ\CORE\stm32f4xx.h~RFe9d8018.TMP
     文件        2233  2014-08-01 22:30  BSP_PRJ\CORE\system_stm32f4xx.h
     目录           0  2015-11-25 17:13  BSP_PRJ\DOC\
     目录           0  2015-11-25 17:13  BSP_PRJ\DRV\
     目录           0  2015-11-29 11:25  BSP_PRJ\DRV\INC\
     文件        1614  2015-11-26 15:45  BSP_PRJ\DRV\INC\bsp_at24cxx.h
     文件        2035  2015-11-26 13:50  BSP_PRJ\DRV\INC\bsp_iic_soft.h
     文件        1230  2015-11-27 13:13  BSP_PRJ\DRV\INC\bsp_key.h
     文件        1152  2015-11-26 00:34  BSP_PRJ\DRV\INC\bsp_led.h
     文件        1850  2015-11-28 14:59  BSP_PRJ\DRV\INC\bsp_spi.h
     文件        1069  2015-11-26 20:30  BSP_PRJ\DRV\INC\bsp_usart.h
     文件        2673  2015-11-29 11:25  BSP_PRJ\DRV\INC\bsp_w25qxx.h
     目录           0  2015-11-29 13:03  BSP_PRJ\DRV\SRC\
     文件        3410  2015-11-26 15:40  BSP_PRJ\DRV\SRC\bsp_at24cxx.c
     文件        7470  2015-11-26 14:14  BSP_PRJ\DRV\SRC\bsp_iic_soft.c
     文件        4554  2015-11-27 13:13  BSP_PRJ\DRV\SRC\bsp_key.c
     文件        1270  2015-11-26 00:33  BSP_PRJ\DRV\SRC\bsp_led.c
     文件       13490  2015-11-29 01:02  BSP_PRJ\DRV\SRC\bsp_spi.c
............此处省略200个文件信息

评论

共有 条评论