blob: 9a56dee0076f4b77d2eb7ac65cc15a411bd74b6f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
/*
* Test code that just sends the letters 'a' to 'z' over and
* over again to both the USER and MGMT UARTs. If a CR is received,
* it will toggle upper/lower case of the letters being sent.
*
* Toggles the BLUE LED slowly and the GREEN LED for every
* character sent.
*/
#include "stm-init.h"
#include "stm-led.h"
#include "stm-uart.h"
#define DELAY() HAL_Delay(100)
int
main()
{
char crlf[] = "\r\n";
uint8_t tx = 'A';
uint8_t rx = 0;
uint8_t upper = 0;
stm_init();
while (1) {
led_toggle(LED_GREEN);
uart_send_char2(STM_UART_USER, tx + upper);
uart_send_char2(STM_UART_MGMT, tx + upper);
DELAY();
if (uart_recv_char2(STM_UART_USER, &rx, 0) == HAL_OK ||
uart_recv_char2(STM_UART_MGMT, &rx, 0) == HAL_OK) {
led_toggle(LED_YELLOW);
if (rx == '\r') {
upper = upper == 0 ? ('a' - 'A'):0;
}
}
if (tx++ == 'Z') {
/* linefeed after each alphabet */
uart_send_string2(STM_UART_USER, crlf);
uart_send_string2(STM_UART_MGMT, crlf);
tx = 'A';
led_toggle(LED_BLUE);
}
}
}
|