Manchester receiver demo.

Dependencies:   Manchester mbed CRC16 ManchesterMsg

main.cpp

Committer:
hudakz
Date:
2017-05-17
Revision:
0:91017f5f5cb3
Child:
1:2ce05484e526

File content as of revision 0:91017f5f5cb3:

#include "mbed.h"
#include "Manchester.h"

DigitalOut      led(LED1);
Manchester      man(p11, p12, 9600);    // Tx pin, Rx pin, speed [bps]
ManchesterMsg   msg(255);               // Message container (max bytes)
char            str[255];               // Array of char
uint32_t        val;

int main(void) {

    while(1) {
        if(man.receive(msg)) {      // Receive message
            // Print data length and raw data
            printf("\r\n----------------------\r\n");
            printf("len = %d\r\n", msg.len);
            printf("raw data :\r\n");
            for(int i = 0; i < msg.len; i++)
                printf("\t0x%.2x\r\n", msg.data[i]);
                
            // Extract data from message and print
            msg >> str >> val;
            printf("data :\r\n");
            printf("\tstr = %s\r\n", str);
            printf("\tval = 0x%x\r\n", val);
        }
        else
            printf("Error\r\n");

        led = !led;
    }
}