概述
最近由于要调试一个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++;
}
}
方法二:
const u8 TEXT_Buffer[]={“Explorer STM32F4 SPI TEST”};
#define SIZE sizeof(TEXT_Buffer) ;
for(i=0;i<SIZE;i++)
{
USART2->DR =TEXT_Buffer[i];
delay_ms(10);
}
最后
以上就是受伤纸鹤为你收集整理的利用STM32单片机串口发送字符串的全部内容,希望文章能够帮你解决利用STM32单片机串口发送字符串所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复