Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 328 → Rev 329

/PIC Stuff/PICX_16F1825_SMT6500_Ultrasonic/SMT6500.c
0,0 → 1,41
#include "defines.h"
#include "SMT6500.h"
#include "TIMER.h"
#include "IOC.h"
 
static uint16_t tmr_value;
 
void SMT6500_Init(void) {
BLNK_LAT = 0;
INIT_LAT = 0;
BINH_LAT = 0;
}
 
uint16_t SMT6500_Read(void) {
// Start transmission and timer
INIT_LAT = 1;
TIMER1_Start();
tmr_value = 0;
// Enable interrupt after 1ms (blanking period)
__delay_ms(1);
IOC_Enable();
__delay_ms(120);
INIT_LAT = 0;
IOC_Disable();
TIMER1_Stop();
 
 
if (tmr_value == 0) {
return 0xFFFF;
} else {
return tmr_value;
}
}
 
void SMT6500_Callback(void) {
tmr_value = TIMER1_Read();
IOC_Disable();
TIMER1_Stop();
}