kit7828 发表于 2022-6-15 16:59

[RTT&瑞萨高性能 CPK-RA6M4] 6、软件模拟I2C驱动PCF8574评测

<div class='showpostmsg'><p>一、硬件部分</p>

<p>1、pcf8574说明</p>

<p>手头有块pcf8574的IO扩展板,原来是用来驱动1602的,无奈发现1602坏了,点不亮了。就只能拿pcf8574测端口IO了。</p>

<p>某宝上采购的&nbsp;&nbsp;原理图</p>

<p> &nbsp;2、管脚资源及连线</p>

<p>本次评测中P613、P614用于串口msh调试,I2C用P412、P411进行模拟,连接pcf8574,外加VCC和GND</p>

<p>&nbsp;万用表接着pcf8574扩展板的Vss和P1口上,直接连线</p>

<p>二、软件部分</p>

<p>1、新建项目</p>

<p>在RT-Thread Studio中新建基于开发板的工程,选择CPK-RA6M4,然后自动生成</p>

<p>2、FSP配置</p>

<p>瑞萨的smart configurator中,配置好在FSP中设置串口7</p>

<p></p>

<p>并在管脚pin中设置用到的模拟I2C管脚P411和P412&nbsp;</p>

<p>&nbsp;更新项目</p>

<p>3、RT Thread Settungs中设置</p>

<p>在软件包中搜素pcf8574</p>

<p>&nbsp;并添加,完成后退出,在settings的图形界面中,应该能看到软件包</p>

<p>&nbsp;然后在软件模拟I2C中进行设置</p>

<p>&nbsp;在硬件配置部分使能I2C1,并且配置好P411、和P412管脚</p>

<p></p>

<p>Ctrl-S后,更新项目配置</p>

<p> &nbsp;&nbsp;4、代码说明</p>

<p>在pcf8574的配置中勾选示例程序,就可以运行了,因此代码部分基本没做修改,改动的地方只有延时,改长了一些,以及端口改成了P1</p>

<pre>
<code>#define TEST_IO    1 //(0-7)
#define I2C_BUS    "i2c1"

int pcf8574_sample(void)
{
    rt_uint8_t value;
    pcf8574_device_t dev = RT_NULL;
   
    dev = pcf8574_init(I2C_BUS, RT_NULL);

    if (dev == RT_NULL)
      return -1;

    pcf8574_pin_write(dev, TEST_IO, 0);

    value = pcf8574_pin_read(dev, TEST_IO);
    rt_kprintf("The value of pcf8574.P%d is %d\n", TEST_IO, value);

    rt_thread_mdelay(3000);

    pcf8574_pin_write(dev, TEST_IO, 1);

    value = pcf8574_pin_read(dev, TEST_IO);
    rt_kprintf("The value of pcf8574.P%d is %d\n", TEST_IO, value);

    pcf8574_deinit(dev);

    return 0;
}
#ifdef FINSH_USING_MSH
MSH_CMD_EXPORT(pcf8574_sample, a pcf8574 sample);
#endif</code></pre>

<p>5、演示视频</p>

<p>80194fcbbc17ce0a480154fad484772d<br />
拍摄过程中转了方向,看起来可能有点不习惯哈</p>

<p>三、心得体会</p>

<p>整个项目评测中,基本上没修改代码,就完成了评测,这是一直希望能够试用RT Thread开发的主要原因,确实非常方便和快捷。</p>

<p>遗憾的自己的LCD1602模块点不亮了,同样遗憾的是在RTT的软件包中,没有找到1602的驱动。</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

Jacktang 发表于 2022-6-17 08:31

<p>看来瑞萨的 CPK-RA6M4还行</p>

<p>配置的例程序比较规范</p>

nmg 发表于 2022-6-17 10:52

<p>可以试试全程都把手机横着拍</p>

freebsder 发表于 2022-6-17 14:53

<p>这么强大的片子,为啥要模拟 i2c 呢</p>

kit7828 发表于 2022-6-19 13:02

freebsder 发表于 2022-6-17 14:53
这么强大的片子,为啥要模拟 i2c 呢

<p>目前RT Thread还不支持硬件IIC,只支持软件的IIC。</p>
页: [1]
查看完整版本: [RTT&瑞萨高性能 CPK-RA6M4] 6、软件模拟I2C驱动PCF8574评测