历史上的今天
今天是:2025年04月16日(星期三)
2018年04月16日 | 两片STM32之间I2C通信
2018-04-16 来源:eefocus
硬件平台:master:stm32f401re slave:stm32f401ce
开发平台:keil 5.18
操作系统:win7
如上篇所讲,将401CE配置为I2C从机,并设置为从发送模式。
主机的I2C与从机相同,同样配置即可。同时增加uart设置,方便将接收到的数据打印出来。
主机的设置为主接收:
printf("\n\rStart....\n\r");
/* Put I2C peripheral in reception process */
/* Timeout is set to 10S */
while(HAL_I2C_Master_Receive(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t *)aRxBuffer, RXBUFFERSIZE, 10000) != HAL_OK)
{
/* Error_Handler() function is called when Timeout error occurs.When Acknowledge failure occurs (Slave don't acknowledge it's address) Master restarts communication */
if (HAL_I2C_GetError(&I2cHandle) != HAL_I2C_ERROR_AF)
{
printf("\n\rReceive failed\n");
}
}
printf("\n\r %s \n\r", aRxBuffer);
/* Infinite loop */
while (1)
{
}
注:这里I2C_ADDRESS为与我们设置的从机地址相同
将两篇STM的板子I2C连接起来,我们会在串口调试助手里发现从机发送过来的数据,即上篇的”…hello world…“。
上一篇:STM32设置为I2C从机
史海拾趣
|
求助:CodeWarrior for ADS 1.2中编译出错 工程中,用ADS编译,出现了Errors: Could not find or load the file 襐IC.a?for target 褼ebugRel?for project 襱est1.mcp? Could not find or load the file 褻omm.a?for target 褼ebugRel?for project 襱est1.mcp? The following access p ...… 查看全部问答> |
|
请登陆淘宝进行详细的细节查询 淘宝地址: http://auction1.taobao.com/auction/0/item_detail-0db2-a975eaf6e989403d6987eeb2fde3c9d9.jhtml 欢迎购买. … 查看全部问答> |
|
小弟刚入道,就遇到棘手的问题,希望大家帮忙啊,谢谢! 问题如下 在Wince下 我在Form1中添加了一个PictureBox1,想在上面画个点,或者圆 结果发现连Paint()函数都没 ,郁闷;还有 CreatGraphic函数也没,该怎么办啊? 使用VB.net2005 谁能发个 ...… 查看全部问答> |
|
1.第一忌 自己不动脑筋,一遇到问题就问别人有句话说的好“吃别人咀嚼过的馍不香”。对于新手来说,做每一件事都是一次学习的好机会。有时候,探索的过程比最终的结果更重要。当你经过自己的努力,解决问题时,成就感和自信心会随之逐渐建立。如果 ...… 查看全部问答> |
|
今早用altium designer6.9画原理图时突然出现了这么一个问题··不得其解啊 就是我放置导线时··本来把我想要连接上的两个引脚端连上就可以了··可是呢··导线的终点却与多个引脚连到一起了··自动产生了很多我不想要连接上的节点··这是怎么回事呢?之前放导线的时候貌似没出现这情况··… 查看全部问答> |




