【英飞凌PSOC 62S4 PIONEER KIT 测评】——I2C
<div class='showpostmsg'> 本帖最后由 bitter 于 2023-4-13 08:55 编辑<p><b>【</b><b>英飞凌PSOC 62S4 PIONEER KIT</b><b> 测评】——I2C</b></p>
<ul>
<li>基本介绍</li>
</ul>
<p>通过翻阅数据手册,发现PSOC 62S4 PIONEER KIT拥有六个Serial Communication Blocks (SCB),都可以配置为I2C模式,操作速率高达1Mbps。它还支持EZI2C,创建了一个邮箱地址范围,并有效地将I2C通信减少到读取和写入内存中的数组。SCB支持一个256字节的FIFO,用于接收和传输。SCB兼容I2C标准模式、快速模式和快速模式+。I2C总线I/O采用开漏模式的GPIOs实现。</p>
<p>二、主要API介绍</p>
<p>1. I2C初始化cyhal_i2c_init()</p>
<p align="center"> </p>
<p>注意:默认情况下,它被配置为Master,总线频率= CYHAL_I2C_MASTER_DEFAULT_FREQ。使用cyhal_i2c_configure()更改默认行为。</p>
<ol start="2">
<li>I2C配置cyhal_i2c_configure()</li>
</ol>
<p align="center"> </p>
<p>其中,cyhal_i2c_cfg_t结构体为</p>
<p align="center"> </p>
<p>注意:特定于主/从的函数只有在块被配置为该模式时才有效。</p>
<ol start="3">
<li>I2C高级配置cyhal_i2c_configure_adv()</li>
</ol>
<p align="center"> </p>
<p>其中,cyhal_i2c_cfg_t结构体为</p>
<p align="center"> </p>
<ol start="4">
<li>I2C事件使能cyhal_i2c_enable_event()</li>
</ol>
<p align="center"> </p>
<p>其中,cyhal_i2c_event_t枚举为</p>
<p align="center"> </p>
<ol start="5">
<li>I2C地址事件使能cyhal_i2c_enable_address_event()</li>
</ol>
<p align="center"> </p>
<p>其中,cyhal_i2c_addr_event_t枚举为</p>
<p> </p>
<p>PS:</p>
<ol>
<li>不知道为什么使用官方提供的I2C例程编译能通过,但是I2C并没有任何数据发出,通过debug发现是在调用cyhal_i2c_master_write()发送数据错误,不清楚是什么情况。</li>
<li>在PSOC 62S4 PIONEER KIT的KitProg3可以作为一个USB-I2C桥接器,并可以与作为I2C MASYER的Bridge Control Panel(BCP)软件进行通信。但是找了半天也没找到这个软件在哪。下图是BCP的界面和KitProg3与PSoC 62S4的连接。</li>
</ol>
<p align="center"> </p>
<p align="center"></p>
<p align="center"> </p>
<p> </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>特定于主/从的函数只有在块被配置为该模式时才有效,这是为何</p>
本帖最后由 bitter 于 2023-4-13 08:54 编辑
<div class="quote">
<blockquote><font size="2"><a href="forum.php?mod=redirect&goto=findpost&pid=3223514&ptid=1239818" target="_blank"><font color="#999999">Jacktang 发表于 2023-4-12 19:18</font></a></font> 特定于主/从的函数只有在块被配置为该模式时才有效,这是为何</blockquote>
</div>
<p>特定于MASTER的函数肯定得I2C被配置为MASTER才能使用啊,SLAVE也同理</p>
<p>应该是HAL库做了限制,防止出错</p>
页:
[1]