MM32F031开发板评测7:IIC读AT24CXX
<div class='showpostmsg'>手里有微雪的模块AT24CXX。
原理图如下:
我想IIC最重要的是那两个上拉电阻,即使你用模拟管脚去读IIC也得要这两个上拉电阻。因为,不加就不稳定。
我今天我想说的是一定要选对型号及相应的例程。我的芯片是MM32F031C8T6。那么就不能选MM32F031C6T6 的例程。
而我近一周没有搞了,又把以前的错下的例程给打开了。整了很烦恼。
程序很简单,就是往AT24CXX写15个数,然后再读出来,读出来的同时串口输出出来:
void I2CMasterTest(I2C_TypeDef *I2Cx)
{
unsigned char i;
I2CInitMasterMode();
I2CMasterWrite(I2C1,FLASH_DEVICE_ADDR, 16*1, 16, tx_buffer0 );
for(i = 0; i < 16 ;i ++)
{
printf("TX data is: %x \r\n", tx_buffer0);
}
I2CMasterRead(I2C1,FLASH_DEVICE_ADDR, 16*1, 16, rx_buffer0 );
}
而I2CMasterRead中有读出的数据通过串口打印出来
I2CTXByte(I2Cx,CMD_WRITE,temp);//tx memory addr
for(i=0;i<rx_count;i++)
{
rx_data = I2CRXByte(I2Cx);
printf("RX data%d is: %x \r\n",i,rx_data);
}
以下是运行截图:
可见MMF031 IIC还是不错的。
</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]