没有合适的资源?快使用搜索试试~ 我知道了~
利用重定向方法实现串口输出.docx
需积分: 13 3 下载量 183 浏览量
2020-06-14
01:48:10
上传
评论
收藏 160KB DOCX 举报
温馨提示
试读
7页
STM32F103串口通信是单片机应用中最常见的操作,使用重定向方法可以简化程序代码的编写,很多初学者对于在USART2、USART3中如何实现重定向理解不清楚。本文通过几个实例详细地讨论了这个问题。
资源推荐
资源详情
资源评论
利用重定向方法实现串口输出
在 C 语言标准函数库中提供了 printf()函数,用于将字符串信息输出到屏幕上显
示。在 Keil 编写的单片机应用程序中,与串口操作相关的函数在 stm32f10x_usart.c
文件里集中定义。如果利用 printf()函数把字符串信息的输出重定向到串口,就可以高
效便捷地实现串口通信。
一、Keil-C 串口收发数据的标准库函数
(1)串口发送数据的标准库函数 USART_SendData()
该函数只能向指定的串口发送一个类型为 uint16_t 的数据,函数原型如下:
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
其中:
USARTx 指定的串口,可以是
USART1、USART2、USART3、USART4 等
Data 发送的数据
【例 1】运用标准库函数 USART_SendData()向串口 1 发送字符串
char Hello[]="Hello world!";
int main()
{
char i;
SysTick_Init(72);
USART1_Init(57600);
while(1)
{
for(i=0; i<strlen(Hello); i++)
{
USART_SendData(USART1,Hello[i]);
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) ==
RESET); }
USART_SendData(USART1,0x0d);
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) ==
RESET);
USART_SendData(USART1,0x0a);
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) ==
RESET);
delay_ms(1000);
}
}
(2)串口接收数据的标准库函数 USART_ ReceiveData ()
该函数可以从指定的串口接收一个类型为 uint16_t 的数据,函数原型如下:
uint16_t USART_ReceiveData(USART_TypeDef* USARTx);
其中:
资源评论
qq_39579309
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功