UART1_write_string o UART_write_message?
- Lello Guidi
- Autore della discussione
- Platino Utente
Less
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:
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
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 "_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
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
_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.
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:
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.
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
Saluti,
Mauro
I seguenti utenti hanno detto grazie : Lello Guidi
Si prega Accesso o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, StefA
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Forum - Ultimi messaggi
-
- Aggiornamento sito completato
- da Mauro Laurenti
-
- registro a scorrimento PIPO in cascata
- da Mauro Laurenti
-
- FORMULA PER LINEARIZZARE TERMOCOPIA
- da Mauro Laurenti
-
- Spostamento impronte
- da Mauro Laurenti