Commit bbec0db9 authored by Leandro Lanzieri's avatar Leandro Lanzieri

Comienzan las pruebas de comunicacion entre nodos, rasp y server

parent 126e01b0
......@@ -12,3 +12,5 @@ Release/
# Otras reglas
Rasp Pi VNC
copyrightLog.txt/
*~
......@@ -37,28 +37,14 @@
#include "nrf24l01.h"
int main(void) {
unsigned char datos[5];
inicializarTodo();
Modo_TX(); // Cambia a transmitir
Set_frec(FREC_ON_OFF);
ledBlink();
datos[0] = RELE_TOGGLE;
datos[1] = RELE_TOGGLE;
datos[2] = RELE_TOGGLE;
datos[3] = RELE_TOGGLE;
datos[4] = RELE_TOGGLE;
while(1) {
_delay_ms(1000);
transmit_payload(datos); // Envia los datos
/* NOTA: Este delay y reset hacen la comunicacion estable, si no estan
* se produce una falla permanente o perdida de datos. Se evaluara colocarlos
* dentro de la funcion de envio de paquetes.
*/
_delay_ms(20);
reset();
LED ^= 1; // Led toggle
}
}
......@@ -6,23 +6,28 @@
*/
#include "configuracion.h"
#include "uart.h"
#include "hardware.h"
#include "comunicacion.h"
#include "nrf24l01.h"
/* inicializarUART
* Configura los registros necesarios para
* inicializar el periferico de comunicacion
* serie UART.
*/
unsigned char datos[5];
void inicializarUART() {
/* Configura el Baud Rate - ver configuracion.h */
UBRRH = (unsigned char) (UBRRREG >> 8);
UBRRL = (unsigned char) UBRRREG;
/* Habilita recepcion y transmision */
UCSRB = (1 << RXEN) | (1 << TXEN);
/* Habilita recepcion y transmision, e interrupcion de recepcion */
UCSRB = (1 << RXEN) | (1 << TXEN) | (1 << RXCIE);
/* Comunicacion de 8 bits, 2 bits stop */
UCSRC = (1 << URSEL) | (1 << USBS) | (3 << UCSZ0);
/* Comunicacion de 8 bits, 1 bits stop */
UCSRC = (1 << URSEL) | (3 << UCSZ0);
}
......@@ -71,4 +76,24 @@ void transmitirUART(unsigned char * datos) {
}
/* Rutina de interrupcion por recepcion
* de UART.
*/
ISR(USART_RXC_vect) {
unsigned char datos[5];
datos[0] = RELE_TOGGLE;
datos[1] = RELE_TOGGLE;
datos[2] = RELE_TOGGLE;
datos[3] = RELE_TOGGLE;
datos[4] = RELE_TOGGLE;
if(recibirByteUART() == 0xDA) {
transmit_payload(datos); // Envia los datos
/* NOTA: Este delay y reset hacen la comunicacion estable, si no estan
* se produce una falla permanente o perdida de datos. Se evaluara colocarlos
* dentro de la funcion de envio de paquetes.
*/
_delay_ms(20);
reset();
LED ^= 1;
}
}
......@@ -41,23 +41,18 @@
#include "configuracion.h"
#include "mcu.h"
unsigned char data;
int main (void) {
inicializarTodo();
ledBlink();
unsigned char string[] = "Probando";
while(1){
// // Si se recibe el caracter A por UART, se hace toggle al led
// if(recibirByteUART() == 45)
// LED ^= 1;
// Envia cada medio segundo el byte con el valor 45 y hace toggle al led
transmitirByteUART(45);
LED ^= 1;
_delay_ms(500);
}
return 0;
}
ISR(USART_RXC_vect) {
if(recibirByteUART() == 0xDA)
LED ^= 1;
}
......@@ -45,11 +45,11 @@ void inicializarUART() {
UBRRH = (unsigned char) (UBRRREG >> 8);
UBRRL = (unsigned char) UBRRREG;
/* Habilita recepcion y transmision */
UCSRB = (1 << RXEN) | (1 << TXEN);
/* Habilita recepcion y transmision, e interrupcion de recepcion */
UCSRB = (1 << RXEN) | (1 << TXEN) | (1 << RXCIE);
/* Comunicacion de 8 bits, 2 bits stop */
UCSRC = (1 << URSEL) | (1 << USBS) | (3 << UCSZ0);
/* Comunicacion de 8 bits, 1 bits stop */
UCSRC = (1 << URSEL) | (3 << UCSZ0);
}
/* Misc */
......
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