Freedom Light e il modulino uPanel

  • Lello Guidi
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
6 Anni 11 Mesi fa - 6 Anni 11 Mesi fa #11 da Lello Guidi
Risposta da Lello Guidi al topic Freedom Light e il modulino uPanel
Ho provato con le modifiche consigliate ma il risultato non mi cambia.
Allego il listato completo:
Code:
#include <xc.h> #include <LTlib.h> #include <LTlib_delay.h> #include <LTlib_delay.c> #include <LCD_44780.h> #include <LCD_44780.c> #include <module_IO.h> #include <module_IO.c> #include "module_UART.h" #include "module_UART.c" #include <stdio.h> #include <stdlib.h> #define HEADER_1 0x23 // carattere # #define HEADER_2 0x24 // carattere $    #define LEDverde LATDbits.LATD0 #define LEDrosso LATDbits.LATD1 unsigned char stringa[30]; unsigned int contatore = 0; void main(void){ IO_set_all_ports_as_inputs(); IO_set_port_direction(IO_PORTD, IO_ALL_PORT_OUTPUT); LCD_initialize(20); LCD_cursor(LCD_TURN_OFF_CURSOR, LCD_BLINKING_OFF); LCD_home(); LCD_write_message(" uPanel e Led"); LCD_goto_xy(6,2); // (colonna, riga) LCD_write_message("New 6"); delay_s(3); LCD_clear(); //***************************************************** // Configura l'USART a 57600 bit/s //****************************************************** UART1_open(UART_BAUDRATE_9600); delay_ms(10); UART1_write_message("\n"); UART1_write_message("$PING 200;\n"); UART1_write_message("$P:D!338;=T*15:Led new 6;{%100,3!88F,228}*20/L1G:0:LED;*10/W1:0;\n"); RCIE = 1; // Attivo interrupt in RX RCIP = 1; // Alta Priorità USART GIE = 1; // Abilito alta priorità globale PEIE = 1; // Abilito interrupt periferiche while(1){ //LCD_clear(); LCD_goto_line(1); LCD_write_string(stringa); LCD_goto_line(2); LCD_write_integer(contatore,2,0); if(stringa[0] == 0x23) { // # LEDrosso=1; contatore = 0; } LEDverde=1; delay_s(1); LEDverde = 0; delay_s(1); }// end while }// end main /************** Interrupt ***************************/ void interrupt high_isr(void){ if(RCIF){ stringa[contatore] = RCREG; contatore++; RCIF = 0; } //RCIF = 0; }

Sia che resetto il RCIF dentro al "if" o fuori al massimo evidenzio sul LCD solo due caratteri.
Saluti

Lello
Ultima Modifica 6 Anni 11 Mesi fa da Lello Guidi. Motivo: errore d'ortografia

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Lello Guidi
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
6 Anni 11 Mesi fa #12 da Lello Guidi
Risposta da Lello Guidi al topic Freedom Light e il modulino uPanel
Ho provato anche a sostituire il ciclo "if" con un "while" ma sono sempre bloccato alla visualizzazione di due caratteri della stringa iniziale.
Saluti
Lello

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Lello Guidi
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
6 Anni 11 Mesi fa #13 da Lello Guidi
Risposta da Lello Guidi al topic Freedom Light e il modulino uPanel
Ho rimesso il Modulino e il progetto in fondo al cassetto...
In attesa dello spunto risolutivo.
Saluti

Lello

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Cosimix
  • Elit Utente
  • Elit Utente
Di più
6 Anni 11 Mesi fa #14 da Cosimix
Risposta da Cosimix al topic Freedom Light e il modulino uPanel
Salve!

Ho dato una lettura velocissima (superficiale)...
Cosa fai in questa parte del codice?
Code:
if(stringa[0] == 0x23) { // # LEDrosso=1; contatore = 0;

Saluti,
Cosimo

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Lello Guidi
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
6 Anni 11 Mesi fa #15 da Lello Guidi
Risposta da Lello Guidi al topic Freedom Light e il modulino uPanel
Mi serve per capire se si accende il led rosso vuole dire che ho intercettato correttamente la terza stringa che ha come header il simbolo "#" che è quella che mi interessa.
Le prime due stringhe che arrivano hanno come header "$" e le devo scartare, mentre la terza e le successive le devo poi processare.
In pratica devo discriminare se arriva il "$" o il "#".
Saluti

Lello

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Forum - Ultimi messaggi