历史上的今天
返回首页

历史上的今天

今天是:2024年09月07日(星期六)

2019年09月07日 | 利用STM32单片机串口发送字符串

2019-09-07 来源:eefocus

最近由于要调试一个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[i];
delay_ms(10);
}


推荐阅读

史海拾趣

问答坊 | AI 解惑

集成电路基础知识之: 芯片封装技术介绍

 自从美国Intel公司1971年设计制造出4位微处a理器芯片以来,在20多年时间内,CPU从Intel4004、80286、80386、80486发展到Pentium和PentiumⅡ,数位从4位、8位、16位、32位发展到64位;主频从几兆到今天的400MHz以上,接近GHz;CPU芯片里集成的晶体管 ...…

查看全部问答>

自组织无线网络的可靠性

许多过程人员都听到过“无线仪表”这个术语,并且认为这非常了不起,不需要导线,但是它的可靠性怎样呢?怎样才能知道你是否在准时接收正确的数据呢?是否每次都能够做到准时接收正确的数据呢?让我们更加深入的研究这个问题,自组织无线网络的可靠 ...…

查看全部问答>

LCD12864的资料

LCD12864带汉字库的资料 [ 本帖最后由 西门 于 2009-5-12 19:54 编辑 ]…

查看全部问答>

成都 - DSP信号处理/FPGA职位-New

职位名称:DSP信号处理工程师职位要求:1、计算机、通信类相关专业,本科及以上学历,本科需从事DSP软件设计三年以上经验;2、掌握数字信号处理相关技术、数字逻辑电路设计;3、熟练掌握MATLAB等仿真工具;4、掌握通用的定点和浮点DSP的应用和算法 ...…

查看全部问答>

【藏书阁】非线性半导体电阻及其应用

目录: 详细信息: 书名:非线性半导体电阻及其应用 作者:В.В. 帕塞科夫, Г.А. 萨维利也夫, Л.К. 契尔金著 出版社:国防工业出版社   出版时间:1964   页数:217页…

查看全部问答>

如何获取系统当前使用的字体的名字?

有没有这个一个API,通过给logfont的lpcharset设置成CHINESEBIG5_CHARSET,直接获取系统当前使用的字体的FACENAME? ( 不用枚举, 我查找半天了MSDN,没找到,所以上来问问,) SystemParametersInfo可以用SPI_GETNONCLIENTMETRICS这个参数直接获取系统当 ...…

查看全部问答>

DDR2 64M/16bit 能跑wince6.0吗?

ddr2 128M/32BIT 运行ce6正常,可另一个板子是DDR2  64M/16bit  ,ce6跑不起来 ce6的硬件最低配置是多少?…

查看全部问答>

加密系统盘有没有好的方法

想做一个加密系统盘的软件,利用驱动或其他什么方法,那位大哥有好的建议…

查看全部问答>

CCBN2011 见闻图文报道

      三月份是三网融合和3D高清智能电视热潮涌动的一个月.首先声明一下,阿牛哥主业是推进广电大屏屏接矩阵方案 ,对三网融合,机顶盒,3D高清智能电视等话题只是个人观点.       3月22日下 ...…

查看全部问答>