Sinds dat ik van Eclipse Galileo naar Juno ben gegaan loop ik tegen een probleem aan.
Het begint met het aanroepen van een macro welke weer een andere functie aanroept:
Het heeft altijd gewerkt en werkt ook nog steeds. Alleen krijg ik sinds de update naar Juno de melding "Statement has no effect" bij stap 1.
De code heb ik nu zo gemaakt dat de macro er tussen uit is:
Dit werkt net zo goed, alleen nu krijg ik dus de melding op PSTR("test"), "Statement has no effect". In eerste instantie dacht ik dat het probleem iets was met de return type maar het lijkt hem aan PSTR() te liggen.
Heeft iemand enig idee waarom het werkte en nog steeds werkt maar in Juno warnings oplevert en in Galileo niet?
Het begint met het aanroepen van een macro welke weer een andere functie aanroept:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| stap 1: return (MODEM_CMD("test",1000) == MOD_RESP_OK); stap 2: #define MODEM_CMD(str,delay) modem_cmd(PSTR(str),delay) stap 3: MODEM_RESP modem_cmd(const char * cmd, uint16 delay) { printm("AT"); printm_np(cmd); printm("\r"); return (modem_rec_resp(delay)); } |
Het heeft altijd gewerkt en werkt ook nog steeds. Alleen krijg ik sinds de update naar Juno de melding "Statement has no effect" bij stap 1.
De code heb ik nu zo gemaakt dat de macro er tussen uit is:
code:
1
2
3
4
5
6
7
8
9
10
11
| stap 1: return (modem_cmd(PSTR("test"),1000) == MOD_RESP_OK); stap 2: MODEM_RESP modem_cmd(const char * cmd, uint16 delay) { printm("AT"); printm_np(cmd); printm("\r"); return (modem_rec_resp(delay)); } |
Dit werkt net zo goed, alleen nu krijg ik dus de melding op PSTR("test"), "Statement has no effect". In eerste instantie dacht ik dat het probleem iets was met de return type maar het lijkt hem aan PSTR() te liggen.
Heeft iemand enig idee waarom het werkte en nog steeds werkt maar in Juno warnings oplevert en in Galileo niet?