#define OUT_CLOCK PIN_B3 // Pin para la señal de "hay lectura"
#define OUT_DATA PIN_B5 // Pin para el dato del bit a transmitir
#define maxBufferLen // Máxima longitud del buffer de transmisión
#define ETU 250 // Delay Elapsed Time Unit
char Buffer[maxBufferLen]; // Buffer de transmisión
void Transmite_Bit(char c)
{
// Data
if((c&0x01)==0){
output_high(OUT_DATA);
}
else{
output_low(OUT_DATA);
}
// Clock
delay_us(ETU );
output_low(OUT_CLOCK);
delay_us(ETU );
output_high(OUT_CLOCK);
}
void Transmite_Byte(char c)
{
int i;
char bt;
for(i=0;i<8;i++){
bt=(c>>i)&0x01;
Transmite_Bit(bt);
}
}
void output_Buffer(void){
int i;
// bytes de code
for(i=0;i<maxBufferLen;i++) {
Transmite_Byte(Buffer[i]);
}
}