一、stm32有自己的字符发送函数。
void PC_SendChar(uint8_t DataToSend)
{
USART_SendData (USART1 ,DataToSend);
while(USART_GetFlagStatus (USART1 ,USART_FLAG_TC )!=SET );
}
二、发送字符串函数是在字符发送函数的基础上编写的
void PC_SendString(uint8_t *str)
{
while(*str)
{
PC_SendChar (*str);
str++;
}
}
三、发送字符串示例
PC_SendString((u8*)"Welcome to the NDIR world !\r\n");
关键字:stm32 USART 发送字符 字符串
引用地址:
stm32的USART如何发送字符、字符串
推荐阅读最新更新时间:2024-03-16 15:42
嵌入式系统学习——STM32之GPIO
----第一篇:GPIO库 文档说明和约定: 该文档主要是对STM32F4各个模块的库进行翻译和说明。文档中加入了作者的一些理解,建议和小贴士。并且在文档最后,加入了一些使用该库模块的案例。希望大家通过对该文档的阅读,可以更好的使用STM32的库函数进行学习和项目开发。之所以选用1.4.0版本进行翻译和说明,因为该版本群众基础较好,有大量的使用者和相关资料。后续也会推出新版本库和CubeMX库的翻译和说明,希望大家喜欢和支持。如果大家觉得文档有什么问题,麻烦请提出,如果确认问题存在,作者会及时修改。 相关术语说明: gpio:通用输入输出接口 gpio管脚:一个io管脚,这个管脚可以有多个配置。在库函数中用GPIO_Pin_1
[单片机]
stm32串口字节丢失怎么办?
“STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成,否则,发送不成功,使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。换成发送别的数值的数据,如0x06 0x0ff,则接收到0x0ff,0x06丢失。错误依旧。 故障排除过程:1、刚开始怀疑是接收端的错误,我是使用电脑串口,运行串口辅助调试工具接收,换成其他软件后,发现故障依旧,而且电脑软件一直是开启状态,不像和电脑软件有关。2、使用单步调试,单步运行各个发送指令,都正常。能收到0x01
[单片机]
stm32之TFT触摸屏(ILI9320)(2):由触摸屏写入EEPROM
程序来源是电阻触摸屏的触摸显示实验。TFT触摸屏呢,不仅仅是ILI9320这一个芯片,还涉及到两个,一个是ADS7846,一个是AT24CXX。这两个都分别是什么东西呢,ADS7846是TFT控制器,它的主要作用就是在按压之后,把这个值通过ADC进行模数转换,这个控制器是TFT屏幕必备的,当然可以有很多型号,这个ADS7846只是其中一种;这个AT24CXX则是EEPROM,XX不是真的字母X,而是省略了数字,比如AT24C02,这个是个2K的EEPROM,我们这里用的也是这款,它能干什么呢,存储数据,通过ADC得到的值需要变换为屏幕坐标什么的,这个EEPROM就可以存储这个基准值。 ADS7846的操作是通过SPI进行的
[单片机]
STM32速成笔记(10)—IWDG
一、IWDG简介 独立看门狗 (Independent Watchdog, IWDG ),什么是看门狗?字面意思——看门的,有陌生人来,就会叫。实际在嵌入式领域里,看门狗也是这种作用,当软件程序发生故障或者程序跑飞时,看门狗会产生复位信号,复位系统。 二、STM32的IWDG 2.1 STM32的IWDG简介 STM32内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。 独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。窗
[单片机]
【STM库应用】stm32 之 TIM (详解二 脉冲宽度、周期测量)
今天主要是用TIM3进行PWM的输入模式,进行对矩形波的脉冲信号宽度以及其周期进行测量,先来看一幅图。 图1 TIM内部逻辑图 我们先来看看datasheet上是怎么说的: 该模式是输入捕获模式的一个特例,除下列区别外,操作与输入捕获模式相同: ● 两个ICx信号被映射至同一个TIx输入。 ● 这2个ICx信号为边沿有效,但是极性相反。 ● 其中一个TIxFP信号被作为触发输入信号,而从模式控制器被配置成复位模式。 例如,你需要测量输入到TI1上的PWM信号的长度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2 寄存器),具体步骤如下(取决于CK_INT的频率和预分频器的值) ● 选择TIMx_CCR1的有效
[单片机]
STM32 TImer几种模式_通用定时器
输入捕获模式 库函数例程位置: STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\TIM\InputCapture 在输入捕获模式下,当检测到ICx信号上相应的边沿后,计数器的当前值被锁存到捕获/比较寄存器(TIMx_CCRx)中。当捕获事件发生时,相应的CCxIF标志(TIMx_SR寄存器)被置 1 ,如果使能了中断或者DMA操作,则将产生中断或者DMA操作。 在捕获模式下,捕获发生在影子寄存器上,然后再复制到预装载寄存器中。 PWM输入模式 库函数例程位置 :STM32F10x_StdPeriph_Lib_V3.3.0\Project\
[单片机]
使用ITM机制实现调试stm32单片机
使用ITM机制实现调试stm32单片机,实现printf与scanf。 1. ITM简介 ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting)方式。 在pc上编写过C语言的人都知道,printf可以向控制台输出,scanf可以从控制台获取输入,这里的printf/scanf都是标准库函数,利用操作系统的这些函数,我们可以很方便的调试程序。在嵌入式设备上(如stm32单片机平台上)开发工具(如MDK/IAR)也都提供了标准库函,自然也提供了printf/scanf函数,那么这些函数是否可以使用呢? 问题来了,printf向哪里输出呢?并且大部分情况下,也没有键盘,又
[单片机]
STM32的多个ADC模块如何同时采样转换详细应用实例说明
在STM32家族里,多数系列芯片内含2到3个ADC模块,有的甚至更多,比方G4系列可以有5个ADC模块。其中,通道数因不同的系列或型号多少不等,几个到几十个的都有。有时,我们可能需要多个ADC模块同时工作,比方3个ADC模块同时采样转换。这时如果芯片内含有3个ADC模块,并支持同时采样转换就很方便。比方STM32F4系列、STM32F7等其它系列都含有3个ADC模块,并支持同时AD采样转换。 这里就3个ADC模块同时进行采样转换应用,做个简单实现示例,以供有需要的用户参考。此时3个ADC模块会建立主从关系。以STM32F4芯片为例。内部大致框架如下: 采样转换时按如下图示操作,每次对分别属于3个ADC模块的3个通道进行AD
[单片机]