没有合适的资源?快使用搜索试试~ 我知道了~
STM32F207的硬件IIC程序源码.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 160 浏览量
2023-06-06
20:59:15
上传
评论
收藏 24KB PDF 举报
温馨提示
试读
8页
STM32F207的硬件IIC程序源码.pdf
资源推荐
资源详情
资源评论
file:///C|/Documents and Settings/lxf/桌面/STM32F207的硬件IIC程序源码.txt
#include "stm32f10x.h"
#include "stm32f10x_flash.h"
#include "sys.h"
#include "stm32f10x_exti.h"
#include "stm32f10x_pwr.h"
#include "stm32f10x_i2c.h"
#include "delay.h"
#define EEPROM_ADDRESS 0xA0
#define I2C_PageSize 8
#define I2C1_SPEED 40000
/*
* 函数名:I2C_EE_PageWrite
* 描述 :在EEPROM的一个写循环中可以写多个字节,但一次写入的字节数
* 不能超过EEPROM页的大小。AT24C02每页有8个字节。
* 输入 :-pBuffer 缓冲区指针
* -WriteAddr 接收数据的EEPROM的地址
* -NumByteToWrite 要写入EEPROM的字节数
* 输出 :无
* 返回 :无
* 调用 :外部调用
*/
void I2C_EE_PageWrite(u8* pBuffer, u8 WriteAddr, u8 NumByteToWrite)
{
I2C_GenerateSTART(I2C1, ENABLE);//产生起始位
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)); //清除EV5
I2C_Send7bitAddress(I2C1, EEPROM_ADDRESS, I2C_Direction_Transmitter);//发送器件地 址
Delayms(10);
while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)); //ADDR=1,清除EV6
I2C_SendData(I2C1, WriteAddr); //EEPROM的具体存储地址位置
Delayms(1);
while(! I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));//移位寄存器非空,数据寄存器已经空,产生EV8,发送数据到DR既可清除该事件
while(NumByteToWrite--) //利用while循环 发送数据
{
I2C_SendData(I2C1, *pBuffer); //发送数据
pBuffer++; //数据指针移位
while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));//清除 EV8
}
I2C_GenerateSTOP(I2C1, ENABLE);//产生停止信号
}
/*END OF FUNCTION*/
file:///C|/Documents and Settings/lxf/桌面/STM32F207的硬件IIC程序源码.txt(第 1/8 页)2013-9-12 12:45:14
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功