资源简介
基于正点原子的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个文件信息
相关资源
- 28335写的用spi读取传感器数据并用CA
- STM32F103 CC2500完整驱动(模拟SPI)
- flash 倒计时器
- 手机短信api接口(源代码)
- cs5530的SPI程序
- 9s12单片机SPI功能代码
- 找不同FLASH游戏源码
- TMS320F2812_FLASH读写实例
- stm32 用SPI 方式读写 SDHC
- 数电教学中的flash示意图
- arm flash 烧写程序源码
- 金鱼屏保程序
- SPI Master 的Verilog源代码
- 原创数据结构Flash演示动画46个算法演
- Spire.Doc 破解版
- 下雪雪花flash
-
Macromedia Flash MX Actionsc
ript for Fun an - FLASH象棋源码很容易改成网络对战版的
- flash倒计时(.fla)源码
- Spin-1目标的广义parton分布的多项式和
- 介子和S波氘核的四极矩以及对spin-1系
- 基于SPCE061A和PTR8000的模拟SPI总线通信
- 用8位spi实现16位spi
- linux SPI设备注册和驱动小结
- 用Verilog语言写的CPLD和MCU通讯的SPI接口
- flash透明时钟140个
- Spirent iTest用户手册详细介绍iTest的各
- 精确结果为3d N $$ \\ mathcal {N} $$ = 2 S
- 从Poincaré代数的闭合中得
- STM32F103VCT6TR - High-density performance lin
评论
共有 条评论