应用例程:通过I2C通讯控制PCF8574模块输出信号


基本信息

基于STM32F103RCT6核心板,通过I2C发送数据到扩展模块PCF8574,PCF8574根据接收到的数据驱动LED模块进行显示。

视频下载

暂无

实验硬件

STM32F103RCT6核心板(1块)[ 购买 ]

CH340E通讯小板(1块)[ 购买 ]

Micro-USB通讯线(1根)[ 购买 ]

PCF8574模块(1块)[ 购买 ]

RGB模块(1块)[ 购买 ]

电路参考

  • CH340E通讯小板通过Micro-USB通讯线连接到电脑。
  • CH340E通讯小板连接STM32F103xC核心板
    CH340E通讯小板GND----GNDP4端子STM32F103xC核心板
    +5V----5V
    TXD----RX
    RXD----TX
  • PCF8574模块连接STM32F103xC核心板
    PCF8574模块VCC----5VP1端子STM32F103xC核心板
    GND----GND
    SDA----PB9P2端子
    SCL----PB8
  • RGB模块连接TPCF8574模块
    RGB模块连接R----P0PCF8574模块
    G----P1
    B----P2
    GND----GND

关键配置说明

添加I2c蓝图,在蓝图中添加I2C底层实现I2C1_I2cL。选择模块I2C1_I2cL,确认通讯使用的单片机的管脚为PB8、PB9。

选择模块I2c,在配置节点Device中,添加设备Device0,使用的底层实现为I2C1_I2cL。

选择模块I2c_Fe,在配置节点Port中,添加用户设备Port0,使用I2c模块中的Device0。

选择模块I2c,在配置节点Job中,选择系统自动创建的任务I2c_Fe_Port0_I2c,确认下通讯参数是否正确。

实验步骤

  • 用启动信号SM0.1将QB0赋值为2#00000001

  • 对秒周期信号SM0.5取上升沿,在上升沿中左移变量QB0,如果QB0等于2#00001000,则让QB0重新等于2#00000001。同时,将上升沿信号保存到M2.0。

  • 根据上升沿信号,将QB0写入I2C通讯端口,最终通过PCF8574来控制LED灯。

  • 将配置上传到服务器,固件下载到STM32F103xC核心板后,将梯形图也下载到核心板,可以观察到RGB灯颜色的切换。

指令说明

相关下载