função goto ou equivalente

Pessoal estou tentando escrever um programa p/ o arduino e estou esbarrando na função if elese.
--------------------------------------------programa--------------------------------------
void loop(){
iniState = digitalRead(iniPin); // Leitura do botão inicio

if(iniState == HIGH); { // Se o estado do botão for alto(estiver pressionado)

digitalWrite(resPin, HIGH); // liga res
digitalWrite(valPin,HIGH);// liga val
digitalWrite(aquPin, HIGH); // liga led aqu

}

else { // Senão
digitalWrite(resPin, LOW); // Apaga o LED:

}
}

--------------------------------------------erro abaixo------------------------------------
In function 'void loop()':
error: 'else' without a previous 'if

outra dúvida é a seguinte:
preciso monitorar 2 botoes ao mesmo tempo e caso um botão desse seja acionado ele deve colocar algumas portas em nível alto por um certo tempo, caso o segundo botão seja acionado ele vai colocar as portas que estão em nível alto em nível baixo (seria um botão de anula)
algum sabe onde consigo exemplos p/ eu desenvolver essas aplicação?
no meu pouco intendimento essas funções de monitorar os botões deve estar dentro da função void loop()
mas não sei como criar saltos como fazia em basic coma função goto (rotulo)
se fosse em basic eu faria um monitoramento dos botoes com a função if /goto ( condição 1) e if (condição 2)
mas não ví ainda na documentação de exemplos que vem na ide do arduino exemplos coma função goto.

abraços

sanches

Olá.
Acho que o erro do seu if e else é o ponto e virgula.
Existe a funcao Goto. Basta entrar nesse link e veja como ela funciona e exemplo
http://arduino.cc/en/Reference/Goto
Sempre que tiver duvidas sobre que funcoes existem e quais existem entre nessa parte do site.

Outra parte que recomendo para vc ler é essa com varios mini tutoriais.

Resumindo, pesquiser aqui no site que vc encontra 90% das respostas.
Quando nao encontrar basta vir aqui no forum.
E nao esqueça de vir as vezes para ajudar quem precis tambem.
Espero ter ajudado.
Abraço.

ok, LOW significa pressionado, HIGH significa solto

if (digitalRead(botao1) == LOW )   {
    digitalWrite(resPin, HIGH); // liga res 
    digitalWrite(valPin,HIGH);//  liga val
    digitalWrite(aquPin, HIGH); // liga led aqu
    }
if (digitalRead(botao2 == LOW)   {
     digitalWrite(resPin, LOW); // liga res 
     digitalWrite(valPin,LOW);//  liga val
     digitalWrite(aquPin, LOW); // liga led aqu
}

Se um botão estiver pressionado, liga luzes, se o outro for pressionado, desliga luzes. Não precisas do else.

bubulindo:
ok, LOW significa pressionado, HIGH significa solto

Depende se você estiver utilizando PULL-UP ou PULL-DOWN no botão. Um "schema" ajudaria.

Leia:
http://www.arduino.cc/en/Tutorial/Button

Experimenta tirar o ponto e vírgula desta função

if(iniState == HIGH); { // Se o estado do botão for alto(estiver pressionado)

Deixe assim:
if(iniState == HIGH) { // Se o estado do botão for alto(estiver pressionado)

Pois o ponto e vírgula finaliza a função.

Eu quis apenas explicar o raciocínio que segui no exemplo que dei. O post pergunta como utilizar um if... else e não como ligar um botão. E se o problema está no lado do software é pacífico assumir que o hardware já está montado correctamente.