最近由于要调试一个SMS发送短信的模块,该模块需要发送一系列AT指令,且需要字符串发送,但是STM32官方给的usart.c中并没有直接发送字符串的函数,因此写了一个发送字符串的函数。
其实发送字符串的本质还是发送一个个字符,所以只需在字符串结束标志之前,循环发送字符即可。不罗嗦,上程序。
//程序功能:利用串口发送一个字符串
// 参数:USARTx USART编号 可取 USART1、USART2、USART3、USART4、 USART5(STM32F103ZET6)
str 需要发送的字符串
#include “stm32f10x.h”
void Usart_SendString(USART_TypeDef* USARTx,char *str)
{
while(*str)
{
while(!USART_GetFlagStatus(USARTx,USART_FLAG_TXE)); //判断是否可以发送
USART_SendData(USARTx,*str);
while(USART_GetFlagStatus(USARTx, USART_FLAG_TC)); //判断是否发送完成,此句必须有,否则会造
//成只发送最后一个字符(覆盖)
str++;
}
}
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。