/**
****************************************************************************************************
* @file main.c
* @author 正点原子团队(ALIENTEK)
* @version V1.0
* @date 2023-07-20
* @brief 串口通信 实验
* @license Copyright (c) 2020-2032, 广州市星翼电子科技
****************************************************************************************************
* @attention
*
* 实验平台:正点原子 CH32V307开发板
*
****************************************************************************************************
*/
#include "./SYSTEM/sys/sys.h"
#include "./SYSTEM/delay/delay.h"
#include "./SYSTEM/usart/usart.h"
#include "./BSP/LED/led.h"
// #include <stdbool.h>
#include "./BSP/KEY/key.h"
int main(void)
{
uint16_t t;
uint8_t len;
uint16_t times = 0;
//bool set_1 = 0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); /* 中断优先级分组2 */
delay_init(144); /* 延时初始化 */
usart_init(115200); /* 串口初始化为115200 */
led_init(); /* 初始化LED */
key_init(); /* 初始化按键 */
while(1)
{
if (g_usart_rx_sta & 0x8000) /* 接收到了数据? */
{
len = g_usart_rx_sta & 0x3fff; /* 得到此次接收到的数据长度 */
//printf("\r\n接收到的数据为: ");
for(t=0;t<len;t++)
{
USART_SendData(USART_UX, g_usart_rx_buf[t]); /* 向串口1发送数据 */
while(USART_GetFlagStatus(USART_UX,USART_FLAG_TC)!=SET); /* 等待发送结束 */
}
printf("\r\n"); /* 插入换行 */
g_usart_rx_sta = 0;
}
//else
//{
if (KEY0 == 0 || KEY1 == 0 || WK_UP == 1)
{
printf("\r\n正点原子 CH32开发板 串口实验\r\n");
//printf("正点原子@ALIENTEK\r\n\r\n\r\n");
}
//if (times % 100 == 0)
//printf ("等待接收的数据\r\n");
if (times % 30 == 0) LED0_TOGGLE(); /* 闪烁LED,提示系统正在运行. */
//}
times++;
delay_ms(10);
}
}
|