登录
首页 » Others » 用stm32硬件I2C和模拟I2C读写EEPROM

用stm32硬件I2C和模拟I2C读写EEPROM

于 2021-05-07 发布
0 201
下载积分: 1 下载次数: 1

代码说明:

通过stm32自带的I2C总线进行读写EEPROM,以及通过模拟I2C时序读写EEPROM。程序经测试能正确实现数据读写。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 序-MATLAB-小波分解(6层),通过译,直接运行
    程序-MATLAB-小波分解(6层),通过编译的.m文件,直接运行,希望对你有帮助
    2020-12-01下载
    积分:1
  • cpu设计实例-verilog
    cpu设计实例-verilog,通过这个文档 你可以很快的入手如何设计一份8位的cpu,其中的指令码位16位什么是CPU?CPU即中央处理单元的英文缩写,它是计算机的核心部计算机进行信息处理可分为两个步骤1)将数据和程序(即指令序列)输入到计算机的存储器中2)从第一条指令的地址起开始执行该程序,得到所需结果,结束运行。CPU的作用是协调并控制计算机的各个部件执行程序的指令序列,使其有条不紊地进行。因此它必须具有以下基本功能a)取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号b)分析指令:即指令译码。是对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令c)执行指令:根据分析指令时产生的操作命令形成相应的操作控制信号序列,通过运算器,存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成将其功能进一步细化,可概括如下1)能对指令进行译码并执行规定的动作;2)可以进行算术和逻辑运算;3)能与存储器,外设交换数据4)提供整个系统所需要的控制尽管各种CPU的性能指标和结构细节各同出功能分析,可知任何一种内目部结构至少应包含下面这些部件:1)算术逻辑运算部件(ALU)2)累加器;3)程序计数器;4)指令寄存器,译码器;5)时序和控制部件RISC即精筲指令集计算机( Reduced instruction seComputer)的缩写。它是一种八十年代才出现的CPU,与一般的CPU相比不仅只是筒化了指令系统,而且是通过筒化指令系统使计算机的结构更加筒单合理,从而提高了运算速度。从实现的途径看, RISC-CPU与一般的CPU的不同处在于:它的时序控制信号形成部件是用硬布线逻辑实现的而不是采用微程序控制的方式。所谓硬布线逻辑也就是用触发器和逻辑门直接连线所构成的状态机和组合逻辑,故产生控制序列的速度比用微程序控制方式快得多,因为这样做省去了读取微指令的时间RISC_CPU也包括上述这些部件,下面就详细介绍一个筒化的用于教学目的的 RISC-CPU的可综合 Veriloghdl模型的设计和伤真过程RISC CPU结构RISC_CPI是一个复杂的数字逻辑电路,但是它的基本部件的逻辑并不复杂。可把它分成八个基本部件:1)时钟发生器2)指令寄存器3)累加器4) RISC CPU算术逻辑运算单元5)数据控制器6)状态控制罨D7)程序计数器8)地址多路器中各部件的相互连接关系1时钟发生器时钟发生器时钟发生器利用外来时钟信号米生成一系列时钟信号送往的其他部件。其中是外来时钟的八分频信号。利用的上升沿来触发控制器开始执行一条指令,同时信号还将控制地址多路器输出指令地址和数据地址。信号用作指令寄存器、累加器、状态控制器的时钟信号则用于触发算术逻辑运算单元。时钟发生器c1kgen的波形
    2020-11-30下载
    积分:1
  • SpringBoot 简单Demo完整
    【实例简介】SpringBoot 简单Demo完整程序,在本地启动默认端口8080,访问地址:http://localhost:8080/
    2021-11-10 00:31:34下载
    积分:1
  • SAR图像集合
    MATLAB处理sar图像的时候可能会用到的SAR图像
    2020-12-06下载
    积分:1
  • 随机微分方
    该书是随机微分方程类图书,主要用于入门级不确定系统问题(偏微分系统)
    2020-12-07下载
    积分:1
  • AB PLC 与modbus 通信
    AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102Sepam2000与远程监控系统之间的通信是采用 MODBUS协议的通信方式MODBUS的通信采用的是一种主/从式数据传输,在主从结构的通信方式中有一台主机,多台从机,主机可与各个从机作双向通信,而各从机之间不能通信。主机与各个从机通信的报文形式为请求/响应帧方式。每次通信均由主机发起,不需握手。主机发出请求帧后,等待从机返回响应帧直至响应时间超时。从机只能通过提供数据响应主机的请求,或根据请求做出相应的动作。MODBUS协议定义了主札请求的格式,包括:请求的编址,要求动作的功能码,传输数据和错误校验等。请求中的编址(即地址码)提供接收主机报文霉的从机地址,从机根据地址判别是否接受该请求,用户必须设置每台从机的地址。功能编码告诉指定编址的从机完成什么样的动作。数据字段屮包含了从机执行任务时所需的附加信息。例如,功能编码03表示读取从机的保持寄存器并w毁w.91{κ其中的内容,数据区中的信息就益领诉从机从哪个寄存器开始读,需要读的寄冇器数。错淏校验字段为从杋提供了信息完整性校验的方法。同样,响N→oomo应的格式也是采用 MODBUS协议结构,从杋响应的功能编码与接受的请求的功能编码相对应,数据字段包含根据请求返回的数据,错误校验字段允许主机确认信息内容是合有效。MODBUS协议共有24种功能编码,但是并不都适用于 Sepam2000,实际应用中Sepam2000只是支持下面有限的几种:01读取输出状态02读取输入状态03读取内部寄存器内容04读取输入寄存器内容05强制单个输出状态第3页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程10206刷新单个寄存器内容07读取异常事件状态08诊断测试11读取计数器和状态字15强制多个输出状态16刷新多个寄存器内容如果主机希望读取2号 Sepam2000从机中寄存器0805h-080Ah的内容,则需要调用功能03。主机请求和从机响应的帧格式如下:请求帧地址功能号数据起始寄存器编址寄存器数目错误校验字段030C0506CRC16w3M9HMo应帧:WwW PLCworld cn字节数据寄存器数据寄存器错误校地址功能号计数(0805)(080A)验字段03OCDatalData6CRC16而如果主机希望刷新2号 Sepam2000从机中寄存器0810h的内容并把寄存器内容设置为1000,则需要调用功能06。主机请求和从机响应的帧格式如下:请求帧:地址功能号寄存器编址设置值错误校验字段06OCOE1000CRC16响应帧:(返回收到的请求帧)地址功能号寄存器编址设置值错误校验字段06OCOE1000CRC16第4页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521Sepam2000的帧格式以及所执行的功能都有明确的定义,不能随意更改。在通信过程中,要确保主机和各从机的对应关系正确。此外,用户可以根据实际需要配置合适的传输波特率、宁符奇偶校验、停止位的个数等通信参数设置。四. AB PLC中 MODBUS协议的实现1.MCM模块的通信控制PROSOFT TECHNOL0GY公司的3100/3150-MOM通信模块,相当于网络接冂,PLC通过MoM模块与 MODBUS总线相连。MOM模块能快速、可靠地在 AB PLC中实现 MODBUS协议。3100/♂315σ0-MM通信模块可供用户选择使用主机模式或者从机模式。当MCM模块设定为主机,它对连接到总线上的从机进行控制,支持 MODBUS协议屮(01、02、03、04、05、06、15、16)8种功能编码,可以发送多达一百条定制的请求WM91H样am并支持以“广播”方式发出请求盖MCM模块指定为从机,它响应主机§的请求,此时能够支持 MODBUS协议中(01、02、03、04、05、06、08、15、16)9种功能编码。同时,无论是主机模式或者是从机模式,3100/3150MCM通信模趴都支持 ASCII和RTU两种传输模式当 AB PLC配置了3100/3150-MCM通信模块作为主机模式时,PLC采用周期扫描方式,按请求指令的顺序与从机交换数据。每次扫描期间,处理器使用逻辑写指令将主机内存中要输出到各从机的数据传送到3100/3150-MM通信模块屮的发送缓冲区,模块根据存储的功能指令,发送到指定的从机;而各从机响应后返回的数据,3100/3150-ⅦOM通信模块将其先存放在接收缓冲区,然后PLC使用逻辑读指令把数据移入相应的输入数据存储区。周而复始,使主机与从机中的数据得到周期性的刷新。整个数据流程如图2所示:第5页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102PLC内存PLC指令MCM缓冲MCMMODBUS模式设备数据读数据:-(从机主机推令一(写)指令一主二一从参数参数配置配置图2MCM模块数据流程示意图2.MCM模块与 MODBUS的硬件连接MCM模块使用的是与RS232C兼容的标准通讯接口,但在实际应用中由于要实w{M.91耙通信,所以采用RS485方式。图3是3150-MCM模块9芯串行口与 MODBUS 8的连接图3150-MCMMODBUSTxRxD+ 9TxRxDTxRxDTxRXDRTS 7G№D5GND图33150MCM端口与 MODEUS连接示意图3.MM模块的缓冲区管理PLC与MM模块之间是通过模块输入、输出映像文件进行数据传送。PLC与数据时,将数据写入输出映像文件,然后3100/3150-MM通信模块把数据映射第6页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102到相应的缓冲区位置上;PLC读数据时,根据映射地址,从输入映像文件屮读取模块缓冲区中对应地址的数据。映像文件的数据传送单位为一个50字节的数据块,PLC必须循环地一次传送一个数据块。MCM把缓冲区按数据传送的单位大小,分为若干个块,并一一标号,用块号对应起来,并且划分为三个区,分别用于数据、指令、参数设置。数据存储区从0块号开始,结束于79块号,中间有4000个字节的空间,用于存储接收的数据和发送的数据,是主札、从札交换数据的场所;指令存储区从第80块至第99块,共1000°个字节,用于存储主机模式下,模块的功能指令表,每次扫描,顺序按功能指令列表向从机发出请求帧:第25块号前40个字节则专门定义为模块设置参数存储区,用于初始化模块。在通信过程中,首先要对主机进行初始化,即对第255块号对应的缓冲区ww.91{进行参数配置,主要是定义通信端舶设置,模块缓冲区的详细划分。设置的有以下参数:N→oomo定义MCM通信模块两个独立的通讯接口设置。包括:选择主机模式或者从机模式、定义字符奇偶校验、停止位的个数,传输的波特率,响应延时等参数。〈2〉定义模块的缓冲区中冇储接收数据的数据冇储区。包括:接收数据存储区的起始块号,存储区的连续块数。③3〉定乂模块的缓洲区屮存储发送数据的数据存储区。包括:发送数据存储区的起始块号,存储区的连续块数。〈4〉定义模块的缓冲区中指令存储区。由于指令储区固定从80号数据块开始,所以只需指定存储区的块数。4.MCM模块的功能指令设置第7页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521MCM模块处于主机模式下时,功能指令列表存放在模块缓区屮的指令存储区。主机向从札发出请求时,模块从指令存储区逐条读出功能指令,并按照MODBUS请求帧格式发送数据。指令存储区中每条功能指令的具体内容如下:1模块通信端口选择2从机的站地址。从机在接收数据时将本站编址的值与收到的站地址比较,以此判定信息是否是发给木站的。而主机在接收压则将收到的站地址与发送的站地址比较,以判断是否是正确的从机响应3指令的功能编码4源地址。即主机要发送或接收的数据在缓冲区中的起始数据地Wbn.91Hmi.com-Itwww.plcworld.Cn5数据长度。即主机要发送或接收的数据的字节数6目的地址。即从机要接收或响应的数据的寄存器地址数据的类型。用于标示读、写的数据是双字节的浮点数还是单字节的整数8轮询时间如果主机希望在1号通讯接冂读取2号 Sepam2000从机中寄存器0805h-080Ah的内容并存放到模块缓冲区第50个字节开始的连续6个字节中,功能指令内容如下:从机功能数据端口号源地址目的地址类型时间地址编码长度506080500第8页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程1025. AB PLC通讯程序的开发程序执行时,在第一个扫描周期,都必须设置MCM的状态,即初始化MM模块。通信程序屮,PLC在输入、输出映像文件屮为MCM缓冲区设置当前以及后续读写指针,分别指向当前MCM缓冲区数据块号,后续缓冲区数据块号。若MCM处于数据传送允许状态,即I1:1/0=1,00:1/0=0时,PLC判别当前读写指针,调用相应读写逻辑指令。如果指针指向接收数据的数据冇储区,则PC从jCM模块中接收数据:如果指针指向发送数据的数据存储区,则PLC向MCM模块发送数据;如果指针指向指令存储区,则PLC向MM模块传送功能指令,每次执行一个数据块的传送,并在传送后,把后续读写指针覆盖当前读与指针,w毁w91{M恧砟下个扫描周期进行下一个数据块的传送。PLC自动周期性扫描,按照编定的功能指令向从机的输入/输出数据进行发送/接收,以满足数据传输的要求。根据PLC的逻辑指令及MCM的通信原理,画出了图4所示的主机通信程序结构框图开始首次扫描时MCM初始化百传送允许?>是∈向接收数据区读数据指令一向发送数据区?>据[写数据指令是指向指令区?与功能指更改读写指针图4PLC程序框图第9页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521五.结束语经过现场调试,实现了1台 AB PLC与13台 SEPAM2000组成的 MODBUS网络连接。实际应用证明,这种方式组成的系统结构简单,应用方便,能满足复杂的控制需要。参考文献3100/3150 MCM USER Manual, Pro Soft Tcchnology, 1997吵一2 AB PLC Programming Reference Manual, AB, 19973 Sepam2000 Communication protocol, Schneider, 1999W点M91HM|comWwW PLCworld cnN→oomo第10页共10页
    2020-11-05下载
    积分:1
  • Matlab实现灰度图像转换成RGB图像
    用Matlab实现的灰度图像转换成RGB图像,效果不错
    2020-11-29下载
    积分:1
  • 计算机网络大作业.
    计算机网络大作业.可以供网络老师参考,是上海交大的,很不错
    2021-05-07下载
    积分:1
  • ESP8266-12E说明书
    esp8266-12E的说明书,PDF文档,其他地方不大容易找的。EsP-12E规格书目录1.产品概述21.1.特点1.2.主要参数………垂4由非垂·······:·2.接口定义……4573.外型与尺寸……4.功能描述41. MCU4.2.存储描述99994.3.晶振4.4.接口说明………………104.5.最大额定值4.6.建议工作环境……114.7.数字端口特征115.RF参数126.功耗……………137.倾斜升温……148.原理图…非垂非9.产品试用16深圳市安信可科技有限公司http://www.ai-thinker.comEsP-12E规格书1.产品概述ESP-12EWFⅰ模块是由安信可科技开发的,该模块核心处理器ESP8266在较小尺寸封装中集成了业界领先的 Tensilica l106超低功耗32位微型McU,带有16位精简模式,主频支持80MHz和160MHz,支持RTOS,集成Wi- FI MAC/BB/RF/ PA/LNA,板载天线。该模块攴持标准的IE802.11b/g/n协议,完整的τcPP协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器ESP8266是高性能无线SOC,以最低成本提供最大实用性,为WⅰFi功能嵌入其他系统提供无限可能。射频MAC接口接收模拟接收匚寄存器」SPI射频CPU内核发射模拟发射心成帧器GPIO加速器12C锁相环H(co)12锁相环电源管理晶振偏置电路SRAM电源管理图1ESP8266EX结构图ESP8266EX是一个完整且自成体系的WF网络解决方案,能够独立运行,也可以作为从机搭载于其他主机McU运行。ESP8266EⅩ在搭载应用并作为设备中唯一的应用处理器时,能够直接从外接闪存中启动。内置的高速缓冲存储器有利于提高系统性能,并减少內存需求。另外一种情况是,ESP8266EX负责无线上网接入承担WiFi适配器的任务时,可以将其添加到任何基于微控制器的设计中,连接简单易行,只需通过SPI/SDO接口或I2 C/UART口即可。ESP8266EX强大的片上处理和存储能力,使其可通过GPIO口集成传感器及其他应用的特定设备,实现了最低前期的开发和运行中最少地占用系统资源。ESP8266EⅩ高度片内集成,包括天线开关 balerη、电源管理转换器,因此仅需极少的外部电路,且包括前端模组在內的整个解决方案在设计时将所占PCB空间降到最低。深圳市安信可科技有限公司http://www.ai-thinker.com2EsP-12E规格书有ESP8266EⅩ的系统表现出来的领先特征有:节能在睡眠/唤醒模式之间的快速切换、配合低功率操作的自适应无线电偏置、前端信号的处理功能、故障排除和无线电系统共存特性为消除蜂窝/蓝牙/DDR/ LVDS/LCD干扰。11.特点80211b/g/n·内置 Tensilica l106超低功耗32位微型McU,主频攴持80MHz和160MHz,支持RTOS·内置10bit高精度ADC内置TCPP协议栈内置TR开关、 balun、LNA、功率放大器和匹配网络内置PL、稳压器和电源管理组件,802.11b模式下+20dBm的输岀功率A-MPDU、A-MSDU的聚合和0.45的保护间隔WiFi@2.4GHz,支持 WPA/WPA2安全模式支持AT远程升级及云端OTA升级支持 STA/AP/STA+AP工作模式支持 Smart Config功能(包括 Android和iOs设备)HSPI、UART、I2C、I2S、 IR Remote Control、PWM、GPIo深度睡眠保持电流为10uA,关断电流小于5uA2ms之内唤醒、连接并传递数据包·待机状态消耗功率小于1.0mW(DTM3)工作温度范围:-40℃-125°C深圳市安信可科技有限公司http://www.ai-thinker.com3EsP-12E规格书12.主要参数表1介绍了该模组的主要参数。表1参数表类别参数说明无线标准80211b/g/n无线参数频率范围24GHz-25GHz(2400M24835M)数据接口UART/HSPL/I2C/I2S/Ir Remote ContorlGPIO/PWM工作电压30~36V(建议3.3V)工作电流平均值:80mA工作温度40°~125硬件参数存储温度常温封装大小16mm x 24mm x 3mm外部接口N/A无线网络模式station/softAP/SoftAP+station安全机制WPA/WPA2加密类型WEP/TKIP/AES升级固件本地串口烧录/云端升级/主机下载烧录支持客户自定义服务器软件开发软件参数提供SDK给客户二次开发Ipv4, Tcp/udp/Http/ftp网络协议AT+指令集,云端服务器, Android/iOS APP用户配置深圳市安信可科技有限公司http://www.ai-thinker.com4EsP-12E规格书2.接口定义ESP-12E共接出18个接口,表2是接口定义。图2ESP-12E管脚图. RXDEN(CH-PD..GPIOSGPIO16.a.. GPIO4ESP-12EGPIO14..D GPIOOGPIo12·。◆GPIo2GPIO13.aD GPIO15ESP 12E表2ESP-12E管脚功能定义序号Pin脚名称功能说明1RST复位模组ADOA/D转换结果。输入电压范围0~1V,取值范围:0~1024EN芯片使能端,高电平有效4IO16GPIO16;接到RST管脚时可做 deep sleep的唤醒5IO14GPIO14: HSPI CLKIO12GPIO 12, HSPI MISOIO13GPIO13 HSPI MOSI: UARTO CTSVCC33V供电CSO片选10MISO从机输出主机输入深圳市安信可科技有限公司http://www.ai-thinker.com5EsP-12E规格书109GPIo912IO10GBIO1013MOSI主机输出从机输入14SCLK时钟15GNDGND16IO15GPIO15: MTDO: HSPICS: UARTO RTS17102GPIo2: UART1 TXD18IOOGPIOO19IO4GPIO420IO5GPIO521RXDUARTO RXD: GPIO322TXDUARTO TXD: GPIO1表3引脚模式模式GPIO15GPIOG PIO2UART下载模式低低局Flash boot模式表4接收灵敏度参数最小小值典型值最大值单位输入频率24122484MHZ输入电阻输入反射-10dB72.2Mbps下,PA的输出功率141516d Bm深圳市安信可科技有限公司http://www.ai-thinker.com6EsP-12E规格书11b模式下,PA的输出功率17.518.519.5d Bm灵敏度DSSS, 1 Mbps98d BmCCK, 11 Mbps-91d Bm6 Mbps(1/2 BPSK93d Bm54 Mbps (3/4 64-QAM)75d BmHT20, MCS7(65 Mbps, 72.2 Mbps)72d Bm邻频抑制OFDM, 6 Mbps37dBOFDM, 54 Mbps21dHT20, MCSO37dBHT20. MCS7dB3.外型与尺寸ESP-12E贴片式模组的外观尺寸寸为16mm*24mm*3mm(如图3所示〉该模组采用的是容量为4MB,封装为SOP-210mi的 SPI Flash。模组使用的是3DBⅰ的PCB板载天线。深圳市安信可科技有限公司http://www.ai-thinker.comEsP-12E规格书图3ESP-12E模组外观CAr个ESP-12E5m2mt3mm图4ESP-12E模组尺寸平面面图表5ESP-12E模组尺寸对照表长宽PAD尺寸(底部)Pin脚间距16 mm24 mm3 mm0.9 mm x 1.7 mm 2 mm深圳市安信可科技有限公司http://www.ai-thinker.com8
    2020-12-04下载
    积分:1
  • 小波分析检测信号奇异点matlab代码
    小波分析检测信号奇异点matlab代码
    2019-04-13下载
    积分:1
  • 696518资源总数
  • 106148会员总数
  • 10今日下载