Transmitter demo for the Manchester encoding library using UART's hardware.
Dependencies: CRC16 ManchesterMsg ManchesterUART mbed
Example of a Manchester code transmitter using the ManchesterUART library.
Diff: main.cpp
- Revision:
- 2:2b031e7e30e9
- Parent:
- 1:1d2b38950e98
--- a/main.cpp Mon Jul 30 09:40:23 2018 +0000 +++ b/main.cpp Wed Oct 17 16:17:37 2018 +0000 @@ -2,20 +2,29 @@ #include "ManchesterUART.h" #include "CRC16.h" -ManchesterUART man(D8, D2, 115200); // Tx pin name, Rx pin name, baudrate [bps] -ManchesterMsg msg(256); // Message container (max bytes) -CRC16 crc16; // CRC16 object -DigitalOut led(LED1); - -int main(void) { - while(1) { - msg.clear(); // Clear the message - msg << 0xfa74c309; // Add some binary data to the message - msg << "Hello World!"; // Add some string data to the message - msg << crc16.calc(msg.data, msg.len); // Append CRC16 to the message - man.transmit(msg); // Transmit the message +static ManchesterUART man(D8, D2, 115200); // Tx pin name, Rx pin name, speed [bps] +static ManchesterMsg msg(256); // Message container (max bytes) +static CRC16 crc16; // CRC16 object +static DigitalOut led(LED1); + +/** + * @brief + * @note + * @param + * @retval + */ +int main(void) +{ + man.setPreamble(20); // Set number of start patterns + while (1) + { + msg.clear(); // Clear the message + msg << 0xfa74c309; // Add some binary data to the message + msg << "Hello, World!"; // Add some string to the message + msg << crc16.calc(msg.data, msg.len); // Append CRC16 to the message + man.transmit(msg); // Transmit the message + led = !led; wait_ms(1000); - led = !led; } }