问题描述
我正在处理一个家庭自动化项目。使用 esp32 和 Flutter。我正在使用红外库来执行数据库中的命令。在我的数据库上,我收到一个字符串值,例如“0x8800549”,但在 IRremote 库中,此命令必须在 uint32_t 中。
我可以从数据库中读取一个整数,但是我必须找到一种添加“x”
的方法。
例如:
uint32_t sender = 0x8800549;
如何将字符串转换为 uint32_t 以便我可以发送我的命令。
这是完整的代码:
#include <IRremote.h>
#include "ATtinySerialOut.h"
void setup() {
pinMode(LED_BUILTIN,OUTPUT);
Serial.begin(115200);
irsender.begin(true); // Enable Feedback LED,}
uint8_t sRepeats = 0;
void loop() {
String convert = "0x8800549";
uint32_t test;
test = convert.tochararray();
Serial.println("Preparing to send...");
delay(1000);
Serial.println(F("Send LGRaw 0x88C0051 with \"parity error\" since C+0+0+5 != 1"));
irsender.sendLGRaw(test,sRepeats);
delay(2000);
delay(4000); // additional delay at the end of each loop
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)