lising 发表于 2018-11-4 20:56

新驱动力MM32F103测试(八)I2C

<div class='showpostmsg'>      今天学习了例程中I2C模块的使用,手里一时没有找到现成可用的AT24Cxx模块,最后找到一个之前用洞洞板做的PCF8574T模块,就用它了。
一、实验资源
1、MM32F103开发板;
2、KEIL 5.25.2;
3、J-LINK V9;
4、新驱动力提供的开发例程;
5、PCF8574T + 8位发光LED;


二、实验过程
1、例程中可以看到配置函数将MCU的I2C1重映射至PB8、PB9引脚;


2、硬件连接。如下图:




3、程序实现
      在主程序中定义一个数组,在for循环中将数组数据顺序写入PCF8574T,在PCF8574T的输出端口P接有8位发光LED,按1秒间隔由低位向高位依次点亮。由于这个8位LED模块是共阳接法,为便于观察将数组取反了。
int main(void)
{
        unsigned char j;
        unsigned char tx_buffer0 = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
       
        delay_init();                                
        I2CInitMasterMode(I2C1, 100000);
        I2CSetDeviceAddr(I2C1, FLASH_DEVICE_ADDR); //PCF8574T地址为0X40
   
        while(1)                                           
        {
                for(j=0; j<8; j++)
                {
                        I2CTXByte(I2C1,~tx_buffer0);
                        delay_ms(1000);
                }
        }
}


4、实验现象。如下图:


三、实验总结
      实验过程中感觉官方所提供的例程非常好用,各子函数写得也非常简洁,易理解、易上手。遗憾的是只做了I2C“写”操作而没有操作
“读”,后面还要进一步尝试。
</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>
页: [1]
查看完整版本: 新驱动力MM32F103测试(八)I2C