STM32串口發(fā)送字符串函數(shù)
最近由于要調(diào)試一個(gè)SMS發(fā)送短信的模塊,該模塊需要發(fā)送一系列AT指令,且需要字符串發(fā)送,但是STM32官方給的usart.c中并沒(méi)有直接發(fā)送字符串的函數(shù),因此寫了一個(gè)發(fā)送字符串的函數(shù)。
其實(shí)發(fā)送字符串的本質(zhì)還是發(fā)送一個(gè)個(gè)字符,所以只需在字符串結(jié)束標(biāo)志之前,循環(huán)發(fā)送字符即可。不羅嗦,上程序。
//程序功能:利用串口發(fā)送一個(gè)字符串
// 參數(shù):USARTx USART編號(hào) 可取 USART1、USART2、USART3、USART4、 USART5(STM32F103ZET6)
str 需要發(fā)送的字符串
#include "stm32f10x.h"
void Usart_SendString(USART_TypeDef* USARTx,char *str)
{
while(*str)
{
while(!USART_GetFlagStatus(USARTx,USART_FLAG_TXE)); //判斷是否可以發(fā)送
USART_SendData(USARTx,*str);
while(USART_GetFlagStatus(USARTx, USART_FLAG_TC)); //判斷是否發(fā)送完成,此句必須有,否則會(huì)造
//成只發(fā)送最后一個(gè)字符(覆蓋)
str++;
}
}