Datasheet
do
{
temp = Man_Receive(&error); // Attempt byte receive
if (error) { // If error occured
Lcd_Chr_CP('?'); // Write question mark on LCD
ErrorCount++; // Update error counter
if (ErrorCount > 20) { // In case of multiple errors
temp = Man_Synchro(); // Try to synchronize again
//Man_Receive_Init(); // Alternative,
try to Initialize Receiver again
ErrorCount = 0; // Reset error counter
}
}
else { // No error occured
if (temp != 0x0E) // If "End" byte was
received(see Transmitter example)
Lcd_Chr_CP(temp); // do not write received
byte on LCD
}
Delay_ms(25);
}
while (temp != 0x0E) ; // If "End" byte was received
exit do loop
}
}
The following code is code for the Manchester transmitter, it shows how to use the
Manchester Library for transmitting data:
// Manchester module connections
sbit MANRXPIN at PORTB.B0;
sbit MANRXPIN_Direction at DDRB.B0;
sbit MANTXPIN at PORTB.B1;
sbit MANTXPIN_Direction at DDRB.B1;
// End Manchester module connections
char index, character;
char s1[] = "mikroElektronika";
void main() {
Man_Send_Init(); // Initialize transmitter
while (1) { // Endless loop
Man_Send(0x0B); // Send "start" byte
Delay_ms(100); // Wait for a while
320
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroC PRO for AVR
CHAPTER 6