乐鑫技术交流
直播中

study875

12年用户 1160经验值
私信 关注
[问答]

ESP8266和Arduino草图不兼容要怎么解决呢?

我得到了一个通过 rc 模块控制我的 somfy 设备的草图。但是,草图与 ESP8266 不兼容(控制 GPIO 状态...DDRD / PORTD 不兼容)。
你们中的任何人都可以帮我为 ESP 重写这个吗?
非常感谢您的帮助!
代码:全选 #define PORT_TX 5 //5 of PORTD = DigitalPin 5
DDRD |= 1<> (7 - (i%8))) & 1) == 1) {
      PORTD &= !(1<

回帖(1)

木頭瓶子

2024-1-2 16:03:19
/#define PORT_TX D5 //改为使用Arduino风格的引脚编号(D5)

//下面的代码需要修改为ESP8266的GPIO操作方式
//例如,PORTD |= 1 << (7 - (i%8)) 改为 digitalWrite(D7, HIGH)
//PORTD &= !(1 << (7 - (i%8))) 改为 digitalWrite(D7, LOW)

void setup() {
  DDRD |= 1 << (7 - (PORT_TX % 8));
  ...
}

void loop() {
  ...
  if((bitmask & (1 << i)) == (1 << i)) {
    digitalWrite(PORT_TX, HIGH);
    ...
    digitalWrite(PORT_TX, LOW);
  }
  ...
}

//修改后的代码
void setup() {
  pinMode(PORT_TX, OUTPUT);
  ...
}

void loop() {
  ...
  if((bitmask & (1 << i)) == (1 << i)) {
    digitalWrite(PORT_TX, HIGH);
    ...
    digitalWrite(PORT_TX, LOW);
  }
  ...
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分