Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Header file incluso piu volte
Forum - C/C++ - Header file incluso piu volte - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 20:05
Giovedė, 02/10/2014
UART.h
Codice sorgente - presumibilmente C++

  1. #ifndef UART_H
  2. #define UART_H
  3.  
  4. #include <avr/io.h>
  5. #include "Buffer.h"
  6.  
  7. #define UARTRxBufferSize 32//Dimensione del buffer software di ricezione del UART
  8. #define UARTTxBufferSize 32//Dimensione del buffer software di trasmissione del UART
  9.  
  10. namespace UART
  11. {
  12.         extern Buffer* rxBuffer;//Puntatore al buffer software di ricezione del UART
  13.         extern Buffer* txBuffer;//Puntatore al buffer software di Trasmissione del UART
  14.        
  15.         void Init(uint16_t);//Inizializza la seriale UART accetando come parametro il valore UBRR
  16. /**/
  17. }
  18.  
  19. #endif



UART.cpp:
Codice sorgente - presumibilmente C++

  1. #include <avr/io.h>
  2. #include <avr/interrupt.h>
  3. #include "C++.h"
  4. #include "UART.h"
  5.  
  6. namespace UART
  7. {
  8.     Buffer* rxBuffer;//Puntatore al buffer software di ricezione del UART
  9.     Buffer* txBuffer;//Puntatore al buffer software di Trasmissione del UART
  10. }
  11.  
  12. void UART::Init(uint16_t ubrr)
  13. {
  14.         UCSR0B = (1<<RXEN0) | (1<<TXEN0); //Abilito il pin di ricezione e il pin di trasmissione
  15.         UCSR0C = (1<<UCSZ01) | (1<<UCSZ00);//Imposto a 8 la lunghezza in bit di un carattere
  16.        
  17.         UBRR0H = ubrr >> 8;
  18.         UBRR0L = ubrr;
  19.        
  20.         UART::rxBuffer = new Buffer(UARTRxBufferSize);//Creo una nuova istanza di Buffer per il buffer di ricezione
  21.         UART::txBuffer = new Buffer(UARTTxBufferSize);//Creo una nuova istanza di Buffer per il buffer di trasmissione
  22.        
  23.         UART::RxInterruptEnabled();//Abilito l'interrupt per la ricezione di un byte
  24.         UART::TxInterruptEnabled();//Abilito l'interrupt per la conclusione di invio di un byte
  25. }


PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 0:14
Venerdė, 03/10/2014
Perfetto in questo modo funziona, grazie mille :)

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo