stm32 i2c eeprom 24C02】的更多相关文章

电路图 相关文章:http://blog.csdn.net/zhangxuechao_/article/details/74936798 举例 #define i2c_scl PBout(10) #define i2c_sda PBout(11) #define i2c_ack PBin(11) void I2C_init() { GPIO_InitTypeDef gpio10 = { GPIO_Pin_10, GPIO_Speed_50MHz, GPIO_Mode_Out_PP }; RCC_…
这里把EEPROM 24c02封装起来,今后可以直接调用,其连线方式为:SDA-P2.1;SCL-P2.0;WP-VCC >_<:i2c.c /*----------------------------------------------- 名称:IIC协议 内容:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的修改....(本例是1us机器 周期,即晶振频率要小于12MHZ) ------------------------------------------------*…
kernel 4.4.12 i2c eeprom AT24c02驱动移植 在kernel make menuconfig ARCH=ARM 中打开: Device Drivers ---> Misc devices ---> EEPROM support ---> <*> I2C EEPROMs / RAMs / ROMs from most vendors 开启上面的选项.如果不能勾取的话 /at24查看相关的依赖. 第二步,在设备树内添加: CHEN_DTS/am335x…
STM32 I2C 搞了几天了,比较郁闷,写点东西给那些正在郁闷的同志 // 好使的,也是范例的代码 cnt = TIME_OUT; while (cnt-- && !I2C_ChechEvent(I2C2, XXX)); if (!cnt) goto err; // 不好使,总是超时 cnt = TIME_OUT; while (!I2C_ChechEvent(I2C2, XXX)) { cnt--; ) goto err; } // 死在这了,动不了 while (!I2C_Chech…
来自:http://bbs.ednchina.com/BLOG_ARTICLE_2154168.HTM I2C 总线在所有嵌入式系统中用得极广, 是一个工业级别的总线, 但由于STM32 是一个32位的MCU, 注定了他的I2C硬件接口将会功能强大, 但同时也会较难于控制,不象8位机,如AVR8位机的TWI(实际完全符合 I2C标准) 那么易用. 以下是我的STM32 I2C硬件接口编程的一些心得体会. 如果你选择了STM32, 说明了你的项目的需求是比较复杂的,使用EMBEDDED OS 和大…
最近在调研STM32 F10X,准备把公司AVR的MCU项目迁移到STM32上.在调研STM32 i2c这一部分时,在与i2c slave硬件连接断开后,这时再去读/写 i2c slave需要STM32这边的i2c_read/write函数做一些处理. 刚开始在i2c读写timeout后,添加了如下代码: I2C_AcknowledgeConfig(I2C1, DISABLE); /*!< Send STOP Condition */ I2C_GenerateSTOP(I2C1, ENABLE)…
先将数据存进去,然后再读出来显示在数码管上. 除了代码里定义的连线外还要把p0连接到8位数码管的8针上. /*----------------------------------------------- 名称:IIC协议 EEPROM24c02 内容:此程序用于检测EEPROM性能,测试方法如下:写入24c02一些数据,然后在内存中清除这些数据, 掉电后主内存将失去这些信息,然后从24c02中调入这些数据.看是否与写入的相同. 函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的…
>_<:24c02的SCL连P2.0;SDA连P2.1;WP接GND;P0接8位数码管的8针;P2.2连段码;P2.3连位码; >_<:delay.c #include "delay.h" /*------------------------------------------------ uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0~255 这里使用晶振12M,精确延时…
关键词:AT24.I2C.nvmem.EEPROM. 1. AT24C介绍 AT24C是一款采用I2C通信的EEPROM,相关驱动涉及到I2C和nvmem. I2C是读写数据的通道,nvmem将AT24C注册为nvmem设备. 2.源码分析 2.1 DTS at24是挂在i2c总线下的设备,硬件接到哪个i2c,DTS中也需要对应修改. 其中需要注意的是,status不能是disabled,pinctrl需要配置. 其中at24的campatible需要和代码对应. i2c3 { compatib…
关于STM32的I2C接口死锁在BUSY状态无法恢复的现象,网上已有很多讨论,看早几年比较老的贴子,有人提到复位MCU也无法恢复.只有断电才行的状况,那可是相当严重的问题.类似复位也无法恢复的情况是存在的,技术支持矢口否认问题存在,并不是正确面对问题的态度.比如我用这款F439芯片的SDRAM控制器,在错误操作后进入HardFault状态,复位无法恢复,JTAG也无法联机,只能断电重来,官方的Erratasheet里也提到了. 如果I2C接口无法可靠工作,那么所做的设计将存在严重隐患,不可能要求…