最近由于要调试一个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)); //判断是否发送完成,此句必须有,否则会造
//成只发送最后一个字符(覆盖)
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关文章
如何利用STM32单片机串口发送字符串(2023-10-10)
如何利用STM32单片机串口发送字符串;最近由于要调试一个SMS发送短信的模块,该模块需要发送一系列AT指令,且需要字符串发送,但是STM32官方给的usart.c中并没有直接发送字符串的函数,因此写了一个发送字符串......
51单片机连接ESP8266串口WiFi模块(2023-06-15)
51单片机连接ESP8266串口WiFi模块; 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术......
基于STM32单片机发送字符串的函数(2023-08-02)
基于STM32单片机发送字符串的函数;最近由于要调试一个SMS发送短信的模块,该模块需要发送一系列AT指令,且需要字符串发送,但是STM32官方给的usart.c中并没有直接发送字符串的函数,因此写了一个发送字符串......
STM32单片机如何处理QT上位机串口中发过来的数据?(2024-09-26)
段用于校验数据传输的正确性;结束标志用于表示一帧数据的结束位置,通常是一个字节或几个字节的特殊字符。了解了这些基础知识之后,可以开始进行STM32单片机如何处理QT上位机串口中发过来的数据的详细讲解。1. 配置串口......
51单片机 HC05蓝牙模块学习(2023-03-24)
51单片机 HC05蓝牙模块学习;一、注意事项
1、烧写程序时,要把蓝牙tx,rx信号线拔掉,对烧写程序有影响。
2、执行HC05集命令时,均以rn结尾。串口中断若选择“发送新行”时,不用......
51单片机串口通信编程(2023-06-13)
51单片机串口通信编程;51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机......
STM32 UART2发送后中断的原因是什么?(2024-04-30)
中断方式数据有多长就中断多少次,我认为还是占用不少CPU时间,相比之下DMA方式就好多了,因为DMA发送字符串时最多中断两次(半传输完成,全传输完成),并且将串口变成类似16C550的器件。
......
单片机打印日志还能这么玩?一招秀翻~(2022-12-09)
结果
总结
本文介绍了如何打印彩色字符串,其中简单介绍了ANSI转义序列,并且给出了几个小的实验结果,并在单片机上发送字符串到PC上,使用xterm串口终端,可以正常显示设置前景色的字符串,结果符合预期。
......
8051单片机波特率计算公式(2024-04-10)
中断
SBUF = c;
while(!TI);
TI = 0;
ES = 1;
}
/**************串口发送字符串......
如何利用STM32单片机发送字符串(2023-08-15)
如何利用STM32单片机发送字符串;一、STM32有自己的字符发送函数。
void PC_SendChar(uint8_t DataToSend)
{
USART_SendData (USART1......