Commit af25e7e5 authored by Martin Enriquez's avatar Martin Enriquez

Lectura de prueba de la temperatura

parent c7097a71
......@@ -44,6 +44,7 @@
#define LUCES_DISMINUIR 0x1C
#define MEDIR_TEMP 0xDB
#define ENVIAR_TEMP 'B'
#define PING 0x19
#define ACK 0x41
......
......@@ -110,6 +110,7 @@ unsigned char comandoValido(unsigned char comando) {
case PING:
case ACK:
case MEDIR_TEMP:
case ENVIAR_TEMP:
return 1;
break;
default:
......
......@@ -44,7 +44,7 @@
#define LUCES_DISMINUIR 0x1C
#define MEDIR_TEMP 0xDB
#define ENVIAR_TEMP 0xDC
#define ENVIAR_TEMP 'B'
#define PING 0x19
#define ACK 0x41
......
......@@ -32,22 +32,36 @@
#include "hardware.h"
#include "nrf24l01.h"
#include "mcu.h"
#include "adc.h"
unsigned int demora_tx=0;
unsigned char enviar=0;
uint8_t* data;
int main(void) {
int main(void) {
unsigned char temperatura=200;
inicializarTodo();
Modo_RX(); // Cambia a transmitir
Set_frec(FREC_ON_OFF); // Cambia a frecuencia ON OFF
ledBlink(); // Muestra que termino
Modo_RX(); // Cambia a transmitir
Set_frec(FREC_ON_OFF); // Cambia a frecuencia ON OFF
ledBlink(); // Muestra que termino
while(1) {
/*if (demora_tx >= 20) {
if (demora_tx >= 20) {
reset();
Modo_RX();
CE = 1;
demora_tx = 0;
_delay_ms(20);
}*/
}
if (enviar){
//temperatura = lectADCToGrados(convertirADC0());
data[0]=ENVIAR_TEMP;
data[1]=temperatura;
Modo_TX();
transmit_payload(data);
enviar=0;
}
}
}
......@@ -72,9 +86,19 @@ ISR(INT0_vect)
break;
case MEDIR_TEMP:
ledBlink();
enviar =1;
break;
}
sei();
CE = 1; // CE alto
reset();
return;
}
ISR (TIMER1_OVF_vect)
{
TCNT1H = 0xFC;
TCNT1L = 0x17; //Tiempo para hacer que el timer cuente durante 1 mSeg
demora_tx++;
return;
}
......@@ -35,6 +35,8 @@ void inicializarTodo() {
inicializarSPI();
inicializarInterrupcionesExternas();
inicializarNRF24L01();
inicializarADC();
inicializarTimer();
sei(); // Habilita interrupciones
}
......@@ -59,6 +61,12 @@ void inicializarSPI(void) {
CSN =1;
}
void inicializarTimer(void){
TCCR1A = 0x00;
TCCR1B = 0x02; //ARRANCA EL TIMER 1 CON PRESCALER DE OOOOOCHO
TCNT1H = 0xFC;
TCNT1L = 0x17; //Tiempo para hacer que el timer cuente durante 1 mSeg
}
void inicializarInterrupcionesExternas(void) {
INT0_DDR &= ~(1 << INT0_PIN); // INT0 como entrada
......
......@@ -35,6 +35,7 @@ void inicializarGPIO(void);
void inicializarInterrupcionesExternas(void);
void inicializarSPI(void);
void inicializarNRF24L01(void);
void inicializarTimer(void);
/* Misc */
void ledBlink(void);
......
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