UART1_write_string o UART_write_message?

  • Lello Guidi
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
6 Anni 10 Mesi fa #1 da Lello Guidi
UART1_write_string o UART_write_message? è stato creato da Lello Guidi
Ho bisogno di un chiarimento sui due comandi citati nel titolo.
Il listato è questo:
Code:
/****************************************************** * uPanel_v4.0 * File: main.c * Authore: Lello * leggo la temperatura del LM35 su AN2(RA2) pin4 * TX = RC6 pin 25, RX = RC7 pin 26 * LTlib v4.0.4, MPLABX v4.15, XC8 v1.45 * PIC18F4550 * clock: 20MHz * Freedom Light * Created on February 26, 2018, 2:31 PM ******************************************************/ #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_ADC.h> #include <module_ADC.c> #include "module_UART.h" #include "module_UART.c" #define LEDverde LATDbits.LATD0 #define LEDrosso LATDbits.LATD1 #define NUMERO_CAMPIONI 20 #define TEMPERATURA_CH ADC_CH2 // RA2/AN2 void main(void) { unsigned int sommatoria = 0; unsigned int lettura = 0; unsigned char numero_letture; unsigned char data; // per Usart int valoreprec = 0; int temperatura = 0; int indice = 0; int zero = 153; // = 0°C punto di partenza dell'indice void board_initialization(); // inizializzazioni UART1_write_string("\n"); UART1_write_string("$PING 200;\n"); UART1_write_string("\n"); while(1){ }// end while }// end main //************************************* // Funzione inizializzazione //************************************* void board_initialization (void) { IO_set_all_ports_as_inputs(); IO_set_port_direction(IO_PORTD, IO_ALL_PORT_OUTPUT); // tutte ingressi compreso RC6(Rx) e RC7(Tx), tranne RC0 cicalino IO_set_port_direction(IO_PORTC, IO_BIT0_IN); //***************************************************** // Configura l'USART, 8 bit, 57600 bit/s // 1 bit stop, 0 bit parità, interruzione RX abilitata ? UART1_open(UART_BAUDRATE_57600); //************************************* // Inizializzazione LCD //************************************* LCD_initialize(20); LCD_backlight(TURN_OFF_LED_LCD); LCD_cursor(0,0); // (NO cursor, NO Blinking) LCD_goto_xy(3,1); // (colonna, riga) LCD_write_message("uPanel e LM35"); LCD_goto_xy(6,2); // (colonna, riga) LCD_write_message("v4.0"); delay_s(10); LCD_clear(); LCD_goto_line(2); LCD_write_message("...start writing"); delay_s(2); }
Se uso "_string" mi da errore: main.c:44: warning: (359) illegal conversion between pointer types.
Se uso "_message" me lo compila senza errore.
Ho guardato il file "module_UART.c" della libreria ma non ho notato differenze o mi sono perso qualche cosa?

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 10 Mesi fa #2 da Lello Guidi
Risposta da Lello Guidi al topic UART1_write_string o UART_write_message?
Forse ho capito !
_Write_string: serve per inviare una sola variabile, mentre _Write_message serve per inviare una stringa di caratteri.
Saluti

Lello

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

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
6 Anni 10 Mesi fa #3 da Mauro Laurenti
Risposta da Mauro Laurenti al topic UART1_write_string o UART_write_message?
esatto.

Fari riferimento all'esempio della libreria:

Code:
int main (void){ unsigned char frase [] = "Hello World 2"; IO_set_all_ports_as_inputs (); LCD_initialize (20); LCD_backlight (LCD_TURN_ON_LED); LCD_write_message ("Hello World 1"); LCD_goto_line (2); LCD_write_string (frase); // Waiting for nothing while (1) { } }

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

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
6 Anni 10 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic UART1_write_string o UART_write_message?
...però per variabile, si intende un array di caratteri terminati con \0.

Saluti,

Mauro
I seguenti utenti hanno detto grazie : Lello Guidi

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.