历史上的今天
今天是:2024年08月24日(星期六)
2019年08月24日 | 基于STM32f103的I2C通信接口的EPPROM模块(24C256)读写程序详解2
2019-08-24 来源:eefocus
接上面的文章!!!
第五步:我们要封装2个函数,一个用于读8位数据,一个用于写8位数据,程序如下:


第六步:我们要利用上面2个函数再封装2个函数,一个用于向EPPROM指定的地址写指定的一字节数据,一个用于读EPPROM指定的地址的数据。程序如下:


第七步:我们要封装2个函数,用于多字节的读写!程序如下:


最后我们就是主函数了!当然这里利用串口发送数据来显示读写的数据!!!
const u8 My2[]={"地址100开始的数据 rn"}; //定义了一个多字节的数据
#define MySize2 sizeof(My2) //该数据长度
int main(void)
{
u8 i,datatemp[MySize2]; //用于读取数据的存储数组
delay_init(72); //这个最好加上 用于产生延时 下面我贴出它的定义 不明白你就按我的写就可以了!
USART_PC_Init(115200); //串口配置
I2C_EPPROM_Init(); //这个就是初始化了
I2C_EPPROM_Write(100,(u8 *)My2,MySize2); //向100开始的地址往后写入MySize个数据
//delay_ms(100);
while(1)
{
I2C_EPPROM_Read(100,datatemp,MySize2); //读取100开始的地址向后MySize的数据
for(i=0;i if(datatemp[i] != '') { USART_PC_SendByte(USART1,datatemp[i]); } } } } 延迟函数定义程序: 最后我贴出运行结果: 到此结束,多多指教!!! 

史海拾趣
|
面向未来的IC设计方案随着集成电路制造业的飞速发展,传统的设计方法越来越受到严峻的挑战。每年设计技术的进步大约滞后制造技术20%。在器件的特征线宽进入深亚微米以后,这个矛盾显得越发的突出。主要表现在系统的集成度越来越高,使得单个芯片的 ...… 查看全部问答> |
|
在workbench3.0中建立了一个downloadable Kernel Module Project(一个简单的hello world程序),在vxworks6.x simulator里面运行通过了,也显示了hello world。可是连接8548板子后,选择连接vxworks6.x target server却去下载不进去,显示错误:Po ...… 查看全部问答> |
|
【求助】“阻塞(pend)”与“挂起(suspend)”的区别? 这两个词的英文意思差不多,看孔祥营书也没搞明白这两种任务状态的区别。 google的结果不尽相同。有说阻塞是位于主存,挂起位于外存;有说阻塞占用CPU,挂起不占用CPU…… 书上说:挂起(suspend)状态主要用于调试,不会约束状态转换,仅仅约束 ...… 查看全部问答> |
|
CString str = \"D:\\\\zxh\\\\111\\\\res\\\\sa.bmp\"; HBITMAP bim = (HBITMAP)LoadImage(AfxGetInstanceHandle(), str, IMAGE_BITMAP, 0,0,0); if(bim == NULL) { DWORD errno = GetLastError(); return; } 总 ...… 查看全部问答> |
|
随着科技的不断发展,嵌入式操作系统大家也很熟悉了,但是嵌入式操作系统类的课程可能还有点陌生。现在就由卓跃教育为大家介绍一下嵌入式操作系统类课程 &nb ...… 查看全部问答> |
|
【玩转C2000 Launchpad】菜鸟LESSON9-时钟 时钟是DSP不可缺少的一部分,是运行的必要条件。时钟输入:对于280x系列的dsp的时钟选择有多种,包括:(1)晶体经过X1、X2输入:需要将CLKIN连接到参考地,否则在用FLASH运行程序时候,将无法运行。;(2)外部时钟经过CLKIN引脚输入:允许时钟电压是3 ...… 查看全部问答> |




