[RTT&瑞萨高性能 CPK-RA6M4] 6、软件模拟I2C驱动PCF8574评测
<div class='showpostmsg'><p>一、硬件部分</p><p>1、pcf8574说明</p>
<p>手头有块pcf8574的IO扩展板,原来是用来驱动1602的,无奈发现1602坏了,点不亮了。就只能拿pcf8574测端口IO了。</p>
<p>某宝上采购的 原理图</p>
<p> 2、管脚资源及连线</p>
<p>本次评测中P613、P614用于串口msh调试,I2C用P412、P411进行模拟,连接pcf8574,外加VCC和GND</p>
<p> 万用表接着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 </p>
<p> 更新项目</p>
<p>3、RT Thread Settungs中设置</p>
<p>在软件包中搜素pcf8574</p>
<p> 并添加,完成后退出,在settings的图形界面中,应该能看到软件包</p>
<p> 然后在软件模拟I2C中进行设置</p>
<p> 在硬件配置部分使能I2C1,并且配置好P411、和P412管脚</p>
<p></p>
<p>Ctrl-S后,更新项目配置</p>
<p> 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> <p>看来瑞萨的 CPK-RA6M4还行</p>
<p>配置的例程序比较规范</p>
<p>可以试试全程都把手机横着拍</p>
<p>这么强大的片子,为啥要模拟 i2c 呢</p>
freebsder 发表于 2022-6-17 14:53
这么强大的片子,为啥要模拟 i2c 呢
<p>目前RT Thread还不支持硬件IIC,只支持软件的IIC。</p>
页:
[1]