Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

09/11/2010 #1


Ayuda con switch case
Hola, estoy tratando de hacer un menu con switch case, cada ves que se pulse un pulsador incrementa o decrementa la variable y pasaria de case en case, pero no me funciona.
Aca les dejo el codigo en C:

void main(){
set_tris_b(0x03);
set_tris_d(0b11111111);
set_tris_c(0x00);
lcd_init();


while(true)
{
// if(input(PIN_C5)|| !input(PIN_C5)){
if(input(abajo)){ --modo;}
if(input(arriba)){ ++modo;}
if(modo>3) modo = 1;
if(modo>1) modo = 0;
// if (enter == 1)


switch(modo){
case 0:

break;

case 1:

break;
case 2:

break;
}}}
Gracias.
12/11/2010 #2

Avatar de DSP

tal como esta tu codigo no creo que funcione en ningun compilador porque para empezar no declaraste la variable modo. Quisiera saber que tipo es (char, unsigned char, int, etc)

Supongamos que inicialmente la variable modo es 0.
luego, presionas el boton abajo y esa variable se decrementa a -1

...en el switch no tienes valores negativos!!

Otra observacion:

Cuando utilizas botones debes poner un retardo para que no afecten los rebotes.

Saludos
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.