标题:
stm32驱动AT24C02模拟/固定 I2C两种方式 而且可以读写小数
[打印本页]
作者:
teleboy
时间:
2018-7-17 19:18
标题:
stm32驱动AT24C02模拟/固定 I2C两种方式 而且可以读写小数
AT24C02 模拟/固定 I2C 两种方式 而且可以读写小数
单片机源程序如下:
/**
******************************************************************************
* @file main.c
* @author fire
* @version V1.0
* @date 2013-xx-xx
* @brief I2C EEPROM(AT24C02)测试,测试信息通过USART1打印在电脑的超级终端
******************************************************************************
******************************************************************************
*/
#include "stm32f10x.h"
#include "bsp_usart1.h"
#include "bsP_i2c_ee.h"
#include "bsP_led.h"
#include <string.h>
#define EEP_Firstpage 0x00
u8 I2c_Buf_Write[256];
u8 I2c_Buf_Read[256];
void I2C_Test(void);
//void *memcpy(void *dest, const void *src, size_t n);
long double cal_p[6]={0.1, 1.1, 3.1, 4.02, 6.3, 0.01};
long double cal_test[6]={0};
uint8_t cal_flag = 0xaa;
uint8_t k;
/**
* @brief 主函数
* @param 无
* @retval 无
*/
int main(void)
{
/* 串口1初始化 */
USART1_Config();
printf("\r\n 这是一个I2C外设(AT24C02)读写测试例程 \r\n");
//LED_GPIO_Config();
/* I2C 外设初(AT24C02)始化 */
I2C_EE_Init();
printf("\r\n 这是一个I2C外设(AT24C02)读写测试例程 \r\n");
//I2C_Test();
/*-------------------------------------------------------------------*/
printf("\r\n start to write \r\n");
I2C_EE_BufferWrite((void*)cal_p, 1, sizeof(cal_p));
//I2C_EE_BufferWrite((void*)cal_p, 1, sizeof(cal_p));
printf("\r\n start to read \r\n");
I2C_EE_BufferRead((void*)cal_test, 1, sizeof(cal_test));
for( k=0; k<6; k++ )
printf("%LF\r\n", cal_test[k]);
while (1)
{
}
}
/**
* @brief I2C(AT24C02)读写测试
* @param 无
* @retval 无
*/
void I2C_Test(void)
{
u16 i;
printf("写入的数据\n\r");
for ( i=0; i<=255; i++ ) //填充缓冲
{
I2c_Buf_Write[i] = i;
printf("0x%02X ", I2c_Buf_Write[i]);
if(i%16 == 15)
printf("\n\r");
}
//将I2c_Buf_Write中顺序递增的数据写入EERPOM中
//LED1(ON);
I2C_EE_BufferWrite( I2c_Buf_Write, EEP_Firstpage, 256);
//LED1(OFF);
printf("\n\r写成功\n\r");
printf("\n\r读出的数据\n\r");
//将EEPROM读出数据顺序保持到I2c_Buf_Read中
//LED2(ON);
I2C_EE_BufferRead(I2c_Buf_Read, EEP_Firstpage, 256);
//LED2(OFF);
//将I2c_Buf_Read中的数据通过串口打印
for (i=0; i<256; i++)
{
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
18、I2C-EEPROM.rar
(2.36 MB, 下载次数: 118)
2018-7-18 01:57 上传
点击文件名下载附件
模拟I2C 固定I2C AT24C02 读写程序,可以读写小数
下载积分: 黑币 -5
作者:
wifingtta
时间:
2021-5-26 12:03
感谢楼主,是野火的程序,测试了模拟IIC,可用,是连续写入和连续读取
作者:
shumivan
时间:
2021-5-26 16:34
你确定你这是硬件IIC使用吗,稳定吗
作者:
wifingtta
时间:
2022-5-17 16:32
验证过硬件IIC的程序,没有问题,可正常读写。虽连续读和连续写
作者:
大脸盘子
时间:
2022-6-11 23:30
导入库函数
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1