首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将I2C控件C函数重写为Python语言

将I2C控件C函数重写为Python语言
EN

Stack Overflow用户
提问于 2021-09-17 08:32:49
回答 1查看 23关注 0票数 0

我正在尝试将C代码重写为python,但我不确定如何在python中表达这一部分

代码语言:javascript
运行
复制
#include <EEPROM.h>
#define EEPROM_write(address, p) {int i = 0; byte *pp = (byte*)&(p);for(; i < sizeof(p); i++) EEPROM.write(address+i, pp[i]);}

我认为我应该使用machine中的I2C对象,但我不确定C版本中发生了什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-17 09:09:28

让我们来分析一下宏代码行:

#define

这是用于定义宏的预处理器命令。

EEPROM_write(address, p)

这个宏名为"EEPROM_write“,它有两个参数,"address”和"p“。由于预处理器在这里主要作为搜索和替换机制工作,因此没有类型。它们取决于使用宏的站点。

代码语言:javascript
运行
复制
{
    int i = 0;
    byte *pp = (byte*)&(p);
    for (; i < sizeof(p); i++)
        EEPROM.write(address+i, pp[i]);
}

这是替换的格式化C代码。它由单个语句块组成,预处理器将用在使用宏时给出的参数替换每次出现的addressp

代码块将p的地址作为byte指针。然后循环遍历p的所有字节(包括填充),并使用连续的地址(从address开始)和p的相应字节调用EEPROM.write()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69220220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档