📄 usart.c
字号:
/**************************************************************
** 精英STM32开发板
** 版本:V1.0
** 功能: 不断查询串口状态,看串口是否收到数据
串口1配置如下
115200,8,N,1
本串口程序是接收到什么字符就返回什么字符
使用我提供的串口调试工具,选择【串口超级终端】波特率设置115200
***************************************************************/
#include <stm32f10x_lib.h> // STM32F10x Library Definitions
#include <stdio.h>
#include "STM32_Init.h" // STM32 Initialization
/*----------------------------------------------------------------------------
从串口发送一个字节数据
Write character to Serial Port.
*----------------------------------------------------------------------------*/
int SendChar (int ch) {
//等待发送结束
while (!(USART1->SR & USART_FLAG_TXE));
//将数据放入发送寄存器
USART1->DR = (ch & 0x1FF);
return (ch);
}
/*----------------------------------------------------------------------------
从串口读取一个字节数据,直到读到数据才返回
Read character to Serial Port.
*----------------------------------------------------------------------------*/
int GetKey (void) {
//等待接收结束
while (!(USART1->SR & USART_FLAG_RXNE));
//从接受寄存器读取数据并返回
return ((int)(USART1->DR & 0x1FF));
}
/*----------------------------------------------------------------------------
MAIN function
*----------------------------------------------------------------------------*/
int main (void) {
// STM32 setup 初始化串口
stm32_Init ();
//串口实验开始
printf ("Polling mode Serial I/O Example\r\n\r\n");
while (1) { // Loop forever
unsigned char c;
//提示从串口输入1个字符
printf ("Press a key. ");
//从串口接收1个字符
c = getchar ();
//从串口输出回车换行
printf ("\r\n");
//从串口输出接收到的字符
printf ("You pressed '%c'.\r\n\r\n", c);
} // end while
} // end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -