Commit 9b45c4df authored by Martin Enriquez's avatar Martin Enriquez

Modificacion para compilar con ATMEGA328p

parent bd89670c
......@@ -40,7 +40,7 @@
/* UART */
#define BAUD 9600 // Baud Rate
#define UBRRREG ((FOSC/16)/BAUD)-1 // El reultado debe ser el numero del registro UBRR para tener BAUD
#define UBRRREG ((FOSC/16)/BAUD)-1 // El resultado debe ser el numero del registro UBRR para tener BAUD
/* NRF24L01 */
#define dataLen 5 // Tama�o de la carga �til (payload) - 1 a 32 bytes
......
......@@ -65,8 +65,13 @@ void inicializarSPI(void) {
void inicializarInterrupcionesExternas(void) {
INT0_DDR &= ~(1 << INT0_PIN); // INT0 como entrada
MCUCR |= (1 << ISC01); // INT0 detecta flanco descendente
GICR |= (1 << INT0); // Habilito la interrupcion de INT0
// MCUCR |= (1 << ISC01); // INT0 detecta flanco descendente
// GICR |= (1 << INT0); // Habilito la interrupcion de INT0
//Para ATMega328:
EICRA |= (1 << ISC01);
EIMSK |= (1 << INT0);
}
/* Misc */
......
......@@ -26,8 +26,6 @@
* along with Proyecto Domotica. If not, see <http://www.gnu.org/licenses/>.
*******************************************************************************/
#include "configuracion.h"
#include "comunicacion.h"
#include "nrf24l01.h"
......@@ -41,7 +39,7 @@
return SPDR;
}
/*
void PCINT12_interrupt_init(void)
{
DDRD &= ~(1 << DDD2); // INT0 (PD2)como entrada
......@@ -52,6 +50,7 @@ void PCINT12_interrupt_init(void)
GICR |= (1 << INT0); //Habilito la interrupci�n
}
*/
uint8_t GetReg(uint8_t reg) //Funci�n para leer un registro reg
{
......
......@@ -40,14 +40,21 @@ unsigned char datos[5];
void inicializarUART() {
/* Configura el Baud Rate - ver configuracion.h */
UBRRH = (unsigned char) (UBRRREG >> 8);
UBRRL = (unsigned char) UBRRREG;
/* UBRRH = (unsigned char) (UBRRREG >> 8);
UBRRL = (unsigned char) UBRRREG;*/
/*Para ATMEGA328:
*/ UBRR0H = (unsigned char) (UBRRREG >> 8);
UBRR0L = (unsigned char) UBRRREG;
/* Habilita recepcion y transmision, e interrupcion de recepcion */
UCSRB = (1 << RXEN) | (1 << TXEN) | (1 << RXCIE);
// UCSRB = (1 << RXEN) | (1 << TXEN) | (1 << RXCIE);
UCSR0B = (1 << RXEN0) | (1 << TXEN0) | (1 << RXCIE0);
/* Comunicacion de 8 bits, 1 bits stop */
UCSRC = (1 << URSEL) | (3 << UCSZ0);
// UCSRC = (1 << URSEL) | (3 << UCSZ0);
UCSRC = (3 << UCSZ00);
}
......@@ -56,10 +63,12 @@ void inicializarUART() {
*/
void transmitirByteUART(unsigned char dato) {
/* Espero a que este libre el buffer */
while(! (UCSRA & (1<<UDRE)));
//while(! (UCSRA & (1<<UDRE)));
while(! (UCSR0A & (1<<UDRE0)));
/* Coloco el dato en el buffer */
UDR = dato;
//UDR = dato;
UDR0 = dato;
}
......@@ -69,10 +78,12 @@ void transmitirByteUART(unsigned char dato) {
*/
unsigned char recibirByteUART(void) {
/* Espero a que este recibido el dato */
while(! (UCSRA & (1<<RXC)));
//while(! (UCSRA & (1<<RXC)));
while(! (UCSR0A & (1<<RXC0)));
/* Devuelvo el dato */
return UDR;
//return UDR;
return UDR0;
}
......@@ -81,7 +92,8 @@ unsigned char recibirByteUART(void) {
* lectura en la UART.
*/
unsigned char disponibleUART(void) {
return (! (UCSRA & (1<<RXC)));
//return (! (UCSRA & (1<<RXC)));
return (! (UCSR0A & (1<<RXC0)));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment