Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
firmware
boards
airbourne
airbourne
examples
uart_printf
airbourne/airbourne/examples/uart_printf/main.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017, James Jackson
3
*
4
* All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions are met:
8
*
9
* * Redistributions of source code must retain the above copyright notice, this
10
* list of conditions and the following disclaimer.
11
*
12
* * Redistributions in binary form must reproduce the above copyright notice,
13
* this list of conditions and the following disclaimer in the documentation
14
* and/or other materials provided with the distribution.
15
*
16
* * Neither the name of the copyright holder nor the names of its
17
* contributors may be used to endorse or promote products derived from
18
* this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32
#include "
revo_f4.h
"
33
#include "
system.h
"
34
#include "
uart.h
"
35
36
UART
*
uartPtr
=
NULL
;
37
38
void
rx_callback
(uint8_t byte)
39
{
40
uartPtr->
put_byte
(byte);
41
}
42
43
int
main
()
44
{
45
systemInit
();
46
47
UART
uart;
48
uart.
init
(&
uart_config
[
UART3
], 115200);
49
uartPtr = &uart;
50
51
uart.
register_rx_callback
(
rx_callback
);
// Uncomment to test callback version
52
53
int
i
= 0;
54
while
(1)
55
{
56
uint8_t hello_string[9] =
"testing\n"
;
57
// uart.write(hello_string, 8); // Uncomment to test Tx
58
delay
(100);
59
60
// Polling version (uncomment to test)
61
// while (uart.rx_bytes_waiting())
62
// {
63
// uint8_t byte = uart.read_byte();
64
// uartPtr->put_byte(byte);
65
// }
66
}
67
}
revo_f4.h
systemInit
void systemInit(void)
Definition:
system.c:55
UART::init
void init(const uart_hardware_struct_t *conf, uint32_t baudrate_, uart_mode_t mode=MODE_8N1)
Definition:
uart.cpp:39
uart.h
UART::register_rx_callback
void register_rx_callback(void(*cb)(uint8_t data)) override
Definition:
uart.cpp:319
UART::put_byte
void put_byte(uint8_t ch) override
Definition:
uart.cpp:228
rx_callback
void rx_callback(uint8_t byte)
Definition:
airbourne/airbourne/examples/uart_printf/main.cpp:38
uart_config
const uart_hardware_struct_t uart_config[NUM_UART]
Definition:
revo_f4.h:64
UART
Definition:
uart.h:42
main
int main()
Definition:
airbourne/airbourne/examples/uart_printf/main.cpp:43
uartPtr
UART * uartPtr
Definition:
airbourne/airbourne/examples/uart_printf/main.cpp:36
param_parser.i
int i
Definition:
param_parser.py:19
system.h
NULL
#define NULL
Definition:
usbd_def.h:50
UART3
#define UART3
Definition:
revo_f4.h:63
delay
void delay(uint32_t ms)
Definition:
system.c:101
rosflight_firmware
Author(s): Daniel Koch
, James Jackson
autogenerated on Thu Apr 15 2021 05:07:46