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
33
#include "
system.h
"
34
#include "
uart.h
"
35
#include "
revo_f4.h
"
36
37
UART
*
uartPtr
=
NULL
;
38
39
void
rx_callback
(uint8_t byte)
40
{
41
uartPtr->
put_byte
(byte);
42
}
43
44
int
main
()
45
{
46
systemInit
();
47
48
UART
uart;
49
uart.
init
(&
uart_config
[
UART3
], 115200);
50
uartPtr = &uart;
51
52
uart.
register_rx_callback
(
rx_callback
);
// Uncomment to test callback version
53
54
int
i
= 0;
55
while
(1)
56
{
57
uint8_t hello_string[9] =
"testing\n"
;
58
//uart.write(hello_string, 8); // Uncomment to test Tx
59
delay
(100);
60
61
// Polling version (uncomment to test)
62
// while (uart.rx_bytes_waiting())
63
// {
64
// uint8_t byte = uart.read_byte();
65
// uartPtr->put_byte(byte);
66
// }
67
68
}
69
}
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:41
uart.h
UART::register_rx_callback
void register_rx_callback(void(*cb)(uint8_t data)) override
Definition:
uart.cpp:325
UART::put_byte
void put_byte(uint8_t ch) override
Definition:
uart.cpp:235
rx_callback
void rx_callback(uint8_t byte)
Definition:
airbourne/airbourne/examples/uart_printf/main.cpp:39
uart_config
const uart_hardware_struct_t uart_config[NUM_UART]
Definition:
revo_f4.h:64
UART
Definition:
uart.h:43
main
int main()
Definition:
airbourne/airbourne/examples/uart_printf/main.cpp:44
uartPtr
UART * uartPtr
Definition:
airbourne/airbourne/examples/uart_printf/main.cpp:37
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:98
rosflight_firmware
Author(s): Daniel Koch
, James Jackson
autogenerated on Wed Jul 3 2019 19:59:24