分配未签名的长整数

问题描述 投票:0回答:1

我正在处理Arduino cpp,并且在设置变量(结构)时遇到问题。变量是:

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

而被分配者是由该片段生成的:

     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++ arduino long-integer unsigned
1个回答
-2
投票

感谢所有人。我的问题是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);
© www.soinside.com 2019 - 2024. All rights reserved.