STM32
直播中

凤求凰

11年用户 425经验值
私信 关注
[问答]

如何利用STM32单片机串口发送字符串?

如何利用STM32单片机串口发送字符串?

回帖(1)

张琳

2021-12-6 14:16:03
最近由于要调试一个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
{
USART2->DR =TEXT_Buffer;
delay_ms(10);
}
举报

更多回帖

×
20
完善资料,
赚取积分