Manchester receiver demo.
Dependencies: Manchester mbed CRC16 ManchesterMsg
main.cpp@1:2ce05484e526, 2017-05-17 (annotated)
- Committer:
- hudakz
- Date:
- Wed May 17 21:27:02 2017 +0000
- Revision:
- 1:2ce05484e526
- Parent:
- 0:91017f5f5cb3
- Child:
- 2:1cb83aa7b99a
Updated.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hudakz | 0:91017f5f5cb3 | 1 | #include "mbed.h" |
hudakz | 0:91017f5f5cb3 | 2 | #include "Manchester.h" |
hudakz | 0:91017f5f5cb3 | 3 | |
hudakz | 0:91017f5f5cb3 | 4 | DigitalOut led(LED1); |
hudakz | 0:91017f5f5cb3 | 5 | |
hudakz | 0:91017f5f5cb3 | 6 | int main(void) { |
hudakz | 1:2ce05484e526 | 7 | Manchester man(p11, p12, 9600); // Tx pin, Rx pin, speed [bps] |
hudakz | 1:2ce05484e526 | 8 | ManchesterMsg msg(100); // Message container (max bytes) |
hudakz | 1:2ce05484e526 | 9 | char str[50]; // Array of char |
hudakz | 1:2ce05484e526 | 10 | uint32_t val; |
hudakz | 1:2ce05484e526 | 11 | |
hudakz | 1:2ce05484e526 | 12 | //pc.baud(9600); |
hudakz | 0:91017f5f5cb3 | 13 | |
hudakz | 0:91017f5f5cb3 | 14 | while(1) { |
hudakz | 0:91017f5f5cb3 | 15 | if(man.receive(msg)) { // Receive message |
hudakz | 1:2ce05484e526 | 16 | // Print data length and raw data bytes |
hudakz | 0:91017f5f5cb3 | 17 | printf("\r\n----------------------\r\n"); |
hudakz | 1:2ce05484e526 | 18 | printf("Length = %d\r\n", msg.len); |
hudakz | 1:2ce05484e526 | 19 | printf("Raw data :\r\n"); |
hudakz | 1:2ce05484e526 | 20 | for(size_t i = 0; i < msg.len; i++) { |
hudakz | 1:2ce05484e526 | 21 | if((i + 1) % 10 == 0) |
hudakz | 1:2ce05484e526 | 22 | printf(" %.2x\r\n", msg.data[i]); |
hudakz | 1:2ce05484e526 | 23 | else |
hudakz | 1:2ce05484e526 | 24 | printf(" %.2x", msg.data[i]); |
hudakz | 1:2ce05484e526 | 25 | } |
hudakz | 1:2ce05484e526 | 26 | printf("\r\n"); |
hudakz | 1:2ce05484e526 | 27 | |
hudakz | 0:91017f5f5cb3 | 28 | // Extract data from message and print |
hudakz | 0:91017f5f5cb3 | 29 | msg >> str >> val; |
hudakz | 1:2ce05484e526 | 30 | printf("Extracted data :\r\n"); |
hudakz | 1:2ce05484e526 | 31 | printf(" str = %s\r\n", str); |
hudakz | 1:2ce05484e526 | 32 | printf(" val = 0x%x\r\n", val); |
hudakz | 0:91017f5f5cb3 | 33 | } |
hudakz | 0:91017f5f5cb3 | 34 | else |
hudakz | 0:91017f5f5cb3 | 35 | printf("Error\r\n"); |
hudakz | 0:91017f5f5cb3 | 36 | |
hudakz | 0:91017f5f5cb3 | 37 | led = !led; |
hudakz | 0:91017f5f5cb3 | 38 | } |
hudakz | 0:91017f5f5cb3 | 39 | } |