Ifall det nu var avsett som ett meddelande till en användare...

Det ska jag kolla upp!lillahuset skrev:Boolen kanske är definierad som int.
Vad har du valt för nivå på varningar. Är det gcc så bör du välja minst "-Wall".
Kod: Markera allt
{
a == b; // jämförelse men resultatet används inte
a = b; // tilldelning
}
Kod: Markera allt
while ( a = b() )
{
...
}
Kod: Markera allt
if(funca() || funcb())
{
dostuff();
}
Kod: Markera allt
if(funca() && funcb())
{
dostuff();
}
Kod: Markera allt
#include <stdio.h>
int main(int argc, char *argv[])
{
argc>=2 && printf("%s\n", argv[1]);
return 0;
}
Det här var lite kul också:Some people seem to think that C is a real programming language, but they are sadly mistaken. It really is about writing almost-portable assembly language.
Fann till slut vart jag kunde slå på den här funktionen och det fungerar ju kanonMr Andersson skrev: Nej du får ingen varning eftersom variablerna med samma namn ligger i olika scope och det är lagligt att gömma variabler. Jag gissar att Atmel Studio använder gcc som kompilator och då kan du slå på varningar med '-Wshadow'.
Kod: Markera allt
enum ShowOnDisplay {
displayMachines,
displayTemp,
displayHVRail,
displayError
};
ShowOnDisplay showData = displayMachines;
void doButtonDebounce(uint8_t showData) {
uint8_t reading = digitalRead(13);
uint8_t buttonState = LOW;
uint8_t lastButtonState = LOW;
uint32_t lastDebounceTime = 0;
uint32_t debounceDelay = 50;
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
showData++;
}
}
}
lastButtonState = reading;
}