powerEngined.h
53 lines
| 1.5 KiB
| text/x-c
|
CLexer
|
r193 | /* | ||
* powerEngined.h | ||||
* | ||||
* Created on: Jan 26, 2015 | ||||
* Author: aras | ||||
*/ | ||||
#ifndef POWERENGINED_POWERENGINED_H_ | ||||
#define POWERENGINED_POWERENGINED_H_ | ||||
#include <inttypes.h> | ||||
/* primitivas 1-wire transaction ds2438 . toda data/comandos es leida y escrita | ||||
* primero el bit menos significativo */ | ||||
inline void write_0_signal();//pull-low, wait 15us, remain low 45us (min), release (high),wait 1us | ||||
inline void write_1_signal();//pull-low, wait 10us, release (high) 50us (min), remain high,wait 1us | ||||
inline void write_byte(uint8_t byte); | ||||
void write_bytes(uint8_t* pbytes,uint8_t len); | ||||
inline uint8_t read_signal();//pull-low, wait 1us, release, pin I , wait 9us, read line, | ||||
//wait 50us(min), pin O, wait 1us | ||||
inline uint8_t read_byte(); | ||||
void read_bytes(uint8_t* pbytes, uint8_t len); | ||||
// 1 reset pulse trasmition (maestro) | ||||
// low signal for a minimum of 480us. luego del flanco de subida, | ||||
// espera de 15-60us y recibe el pulso de presencia del ds2438 | ||||
// (low 60-240us) | ||||
// 2 presence pulse (respuesta del esclavo) | ||||
void initialization(); | ||||
// 5 CONVERT_T (0x44) inicia conversion A/D de temperatura | ||||
// 6 CONVERT_V (0xB4) inicia conversion A/D de voltaje | ||||
void convert(uint8_t cmd); | ||||
void memory_read(uint8_t* pbyte, uint8_t page_addr); | ||||
void ISR_int0(); //usado para cronometrar la lectura del presence pulse | ||||
void ISR_low_level();//detecta el nivel bajo. usado para detectar el presence pulse | ||||
void ISR_twi();// usado para enviar datos | ||||
void ISR_int1();//usado para cronometrar la lectura de datos | ||||
#endif /* POWERENGINED_POWERENGINED_H_ */ | ||||