应用例程:用外置EEPROM(AT24C32)实现参数保存基本信息在STM32F103RCT6核心板最小系统的基础上,添加OLED液晶屏显示,并可以通过按键编辑2个参数:报警压力、报警液位。添加MemIf蓝图,通过时钟与存储模块上的AT24C32保存这两个参数,修改好参数后断电重启,观察参数是否保持不变。 视频下载暂无 实验硬件STM32F103RCT6核心板(1块)[ 购买 ]: CH340E通讯小板(1块)[ 购买 ]: Micro-USB通讯线(1根)[ 购买 ]: OLED屏SSD1306(1块)[ 购买 ]: 8输入独立按键模块(1块)[ 购买 ]: 时钟与存储模块(1块)[ 购买 ]: 电路参考
关键配置说明添加蓝图MemIf,在蓝图中添加内存存储模块MemIf、外置EEPROM驱动模块AT24_Eep、I2C通讯驱动模块I2c、I2C通讯底层模块I2C1_I2cL、I2C通讯底层实现模块I2C_I2cLI。 在蓝图中选择模块I2C1_I2c,在配置节点中选择Pin,确认使用的单片管脚是否为PB6、PB7。 在蓝图中选择模块I2c,在配置节点Device中,创建通讯设备Device0,使用的通讯底层为I2C1_I2cL。 在蓝图中选择模块AT24_Eep,在配置节点Chip下面添加存储芯片Chip0。选择芯片型号为AT24C32。 在蓝图中选择模块I2c,在配置节点Job下面查看系统自动添加的通讯任务:AT24_Eep_Chip0_I2c。确认通讯设备是Device0,通讯速率时100Kbit/s,占空比为1:1。 在蓝图中选择模块MemIf_Fe,在配置节点Block下面添加用户存储块Block0、Block1。两个存储块对应的底层类型是Eep,操作的芯片是模块AT24_Eep下面的Chip0。Block0的大小是64个字节,Block1的大小是256个字节。 编译系统,MemIf_Fe会在MemIf模块中添加相关的节点。在蓝图中选择模块MemIf,配置节点中选择Block,观察是否已经添加了两个存储块。在配置界面可以查看系统生成的存储块地址分配。 输入输出和OLED屏的配置可参考下面的例程: 应用程序梯形图NETWORK 0 将参数编辑按键信息送入OLED液晶屏
NETWORK 1 启动时,利用启动信号SM0.1进行内存块的读操作,初始化变量VW100和VW102
NETWORK 2 M0.0每过200毫秒闭合一次
NETWORK 3 用M0.0触发数据保存操作,将VB100 ~ VB163写入存储块Block0
液晶屏配置实验步骤
指令说明补充说明使用MemIf模块,在数据有效性上提供了下列支持:
使用MemIf模块,依然存在数据失效的下列风险:
如果对数据的有效性有较高的要求,建议使用NvM模块配合MemIf来进行参数的保存。 相关下载
|