首页 > 解决方案 > 分配无符号长

问题描述

我正在处理 Arduino cpp,但在设置一个带有值的变量(在结构中)时遇到问题。变量是:

struct cronStructure {
    unsigned long every;      // every
    ...
}
...
cronStructure cron[] = {...

并且assignemet是由这个片段生成的:

     unsigned long ss;
     sscanf(workBuffer+1,"%u",&ss);   // workBuffer contains d5
     cron[iEvent].every = ss;
     events.listEvents(cron);
     sprintf(printfBuffer," changed to %d\n", ss);
     Serial.println(printfBuffer);    // this shows: changed to 5
     Serial.println(cron[iEvent].every);  // this shows: 3827367941

谢谢

标签: c++arduinolong-integerunsigned

解决方案


谢谢大家。我的问题是 Arduino simil cpp 编译器的问题,我更改了值的捕获,现在它可以工作了:

          int ss;
          sscanf(workBuffer+1,"%i",&ss);
          Serial.println(cron[iEvent].every);
          cron[iEvent].every = (unsigned long) ss;
          events.listEvents(cron);
          sprintf(printfBuffer," changed to %i\n", ss);
          Serial.println(printfBuffer);
          Serial.println(cron[iEvent].every);

推荐阅读