Finalmente llamar a despliega, pero arreglando el problema que tenes ( que le arregle antes)
------------------------------------------
Pone un delay de unos 2 ms despues de cada set_adc_channel().
------------------------------------------
if((n_pas != n_pasa) || (vel != vela))
La comparacion es EXACTA, en un ADC de 10 bits, es muy complejo que sea exacta la comparacion, ademas casi siempre el ultimo bit varia por el ruido. Quedando un par de opciones.
O comparas en un rango, 30 mas y 30 menos por ejemplo. o podes achicar esa comparacion si ademas promedias los resultados del ADC. Es decir tomar varias muestras sumarlas y dividirlas para que sea un numero mas estable ( si hace esto intenta que sean multiplo de 2, 8,16,32,64). Y tampoco te olvides que vas a necesitar una variable que pueda tener toda esa cantidad de datos.
------------------------------------------
Defini un default: para el switch, para cuando ningun caso sea el correcto. Y por lo que veo:
paso = input_c() & 0x3f;
Tendrias 64 opciones ahi.. Ya que tenes 6 bits.
Título: Re:Posible sintaxis
Publicado por: rfjhh en 08 de Febrero de 2016, 22:32:39
Gracias por tus sugerencias. Solo cambié: char secu[8], dire[4] por: char secu[10], dire[10] y funcionó!!!!!!!! :-/
Título: Re:Posible sintaxis
Publicado por: rfjhh en 08 de Febrero de 2016, 22:43:28
Ya no me marcó error, pero no despliega lo que quiero. Completé el Switch: #include<16f887.h> #use delay(clock = 4MHz) #use standard_io(D) #fuses INTRC, NOWDT, NOBROWNOUT, NOLVP #include<LCD.c> #define use_portd_lcd TRUE
Título: Re:Posible sintaxis
Publicado por: RALF2 en 09 de Febrero de 2016, 08:57:54
Amigo esto en CCS deberia darte error:
Citar
switch(paso) { case 1: secu[8] = "Simple"; // incorrecto en C dire[4] = "Der"; // incorrecto en C despliega(secu, dire); //rut(0, }
Aunque la version de tu ccs no te de error, eso no es correcto y por eso estas teniendo problemas. Para asignar un string puedes hacerlo al momento de crearlo asi: