串口实验
Goals
单片机通过串口1接收PC机串口助手发送的数据,然后再通过串口1将收到的数据返回给PC机
Material
hardware material
usb转串口插头
software material
1、串口配置相关函数(正点原子提供的SYSTEM中的usart)
Procedure
1、根据目标业务,寻找对应的资料
2、创建工程结构
3、编写main.c实现目标业务
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
int main(void) {
u8 len;
u8 t;
u16 times;
delay_init();
// 设置NVIC中断分组2
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);
LED_Init();
while(1) {
if(USART_RX_STA & 0x8000) {
// 得到此次接收的数据的长度
len = USART_RX_STA & 0x3f;
printf("\r\nÄú·¢Ë͵ÄÏûϢΪ£º\r\n");
for (t=0; t<len; t++) {
// 向串口1发送数据
USART_SendData(USART1, USART_RX_BUF[t]);
// 等待发送结束
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)!=SET);
}
// 清空接收
USART_RX_STA = 0;
} else {
times++;
delay_ms(10);
if (times%200==0)
// 提示输入数据
printf("请输入数据,以回车键结束\n");
if (times%30==0)
// LED闪烁,提示系统正在运行
LED = !LED;
}
}
}