STM8 AT24CXX使用I2C接口读写EEPROM子程序

来自丢石头百科
Admin讨论 | 贡献2019年11月18日 (一) 16:33的版本 (软件设计/*********************************************************************微 雪 电 子 WaveSharehttp://www.waveShare.net目 的: 建立AT24CXX操作库目标系统: 基于STM8单片机应用软件: Cosmic CxSTM8说 明: ...)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
<tbody></tbody>
软件设计

/********************************************************************* 微 雪 电 子 WaveShare <a class="Blue_2_12px_" href="http://www.waveshare.net/" style="color: rgb(7, 66, 184);">http://www.waveShare.net   目 的: 建立AT24CXX操作库 目标系统: 基于STM8单片机  应用软件: Cosmic CxSTM8  说 明: 若用于商业用途,请保留此段文字或注明代码来源 深 圳 市 微 雪 电 子 有 限 公 司 保 留 所 有 的 版 权 

                                                                                                                                          • /
                                                                                                                                            #define WD_DADR 0xa0
                                                                                                                                            #define RD_DADR 0xa1
                                                                                                                                            
                                                                                                                                            #include "ws_i2c.h"
                                                                                                                                            
                                                                                                                                            void AT24CXX_Init(void)
                                                                                                                                            {
                                                                                                                                            	I2C_Init();
                                                                                                                                            }
                                                                                                                                            
                                                                                                                                            void AT24CXX_WriteAByte(u8 wordAdr,u8 dat)
                                                                                                                                            {
                                                                                                                                            	I2C_Start();
                                                                                                                                            	I2C_SendDAdr(WD_DADR);
                                                                                                                                            	I2C_SendDat(wordAdr);
                                                                                                                                            	I2C_SendDat(dat);
                                                                                                                                            	I2C_stop();
                                                                                                                                            }
                                                                                                                                            
                                                                                                                                            u8 AT24CXX_ReadAByte(u8 wordAdr)
                                                                                                                                            {
                                                                                                                                            	u8 dat;
                                                                                                                                            	I2C_Start();
                                                                                                                                            	I2C_SendDAdr(WD_DADR);
                                                                                                                                            	I2C_SendDat(wordAdr);
                                                                                                                                            	I2C_Start();
                                                                                                                                            	I2C_NAck();
                                                                                                                                            	I2C_SendDAdr(RD_DADR);
                                                                                                                                            	dat=I2C_RcvDat();
                                                                                                                                            	I2C_stop();
                                                                                                                                            	I2C_Ack();
                                                                                                                                            	return dat;
                                                                                                                                            }