原创 I2C存储器读写程序设计(二)

2009-10-29 20:55 2717 6 6 分类: MCU/ 嵌入式

I<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2C存储器读写程序设计(二)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


一、程序设计流程分析


1、命令的添加:命令数改为8,命令字符串表添加i2cwri2crd。命令表初始化中添加命令处理函数。


2、在uartcmd.h中声明相应的函数,在uartcmd.c中实现相应的函数(先为空函数)。要记住:在help命令处理函数里面加上新命令显示。


3、接下来编程的原则是先构建框架,再进行不补充。


 


4void UartCmdI2CWrite(void)的处理流程


   定义一个256字节的缓冲区,此时接管串口字符的接收(从消息队列里获取),并进行判断,普通字符进行存储回显,如果是ESC则清除缓冲区,退出。如果是ENTER,则进行写入后退出。


5void UartCmdI2CRead(void)的处理流程


   定义一个256字节的缓冲区,将存储器的一页读到缓冲区,进行显示。


 


 


二、编写文件i2c.c24c02.c


1i2c.c的编写


1)用于总线操作函数的编写,包括总线的起动、停止、应答、发送一个字节和接收一个字节的函数。


2)该函数与stm32的结构密切相关。


 


224c02.c的编写


124c02.c作为从设备,该驱动函数与具体的期间无关,调用底层的总线驱动函数完成对该设备的操作。


2)主要编写的函数包括:E2P_ReadByte();E2P_ReadByteAddAddress);E2P_ReadMultiByteAddressNumber),以及写存储器函数E2P_WriteByteAddAddress);E2P_WrtieMultiByteAddressNumber)。等等。


 


三、i2c器件的初始化


1、首先在RCC_Config()函数中使能I2C的时钟。


2、声明函数I2C_Config(),并在初始化函数中调用。


3、编写I2C_Config()


1)对复用端口进行IO设置。


2)设定外设时钟、配置时钟控制、配置上升时间。


3)起动外设。


 


现在框架已经建立了,明天有时间进行填充。

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条