如下代码,加入第四行,意为发送字符前将标志位清空,因为一开始DataString就有一个’\0’,循环时就会跳过第一个字符 void USART_SendString(USART_TypeDef* USARTx, char *DataString) { int i = 0; USART_ClearFlag(USARTx,USART_FLAG_TC); //发送字符前清空标志位(否则缺失字符串的第一个字符) while(DataSt...
标准库函数对每个外设都建立了一个初始化结构体,比如USART_InitTypeDef,结构体成员用于设置外设工作参数,并由外设初始化配置函数,比如USART_Init()调用,这些设定参数将会设置外设相应的寄存器,达到配置外设工作环境的目的。 初始化结构体和初始化库函数配合使用是标准库精髓所在,理解了初始化结构体每个成员意义基本上就可以...
Usart_SendByte 函数用来在指定USART 发送一个ASCLL 码值字符,它有两个形参,第一个为USART,第二个为待发送的字符。它是通过调用库函数USART_SendData来实现的, Usart_SendString 函数用来发送一个字符串,它实际是调用Usart_SendByte 函数发送每个字符,直 到遇到空字符才停止发送。 USART 中断服务函数 void DEBUG_US...
2.USART常用函数 复制 void USART_DeInit(USART_TypeDef* USARTx);void USART_Init(USART_TypeDef* ...
//Usart_SendString(DEBUG_USARTx, "欢迎使用STM32F103RCT6!"); // 发送字符串 // 使用printf函数将数据输出到上位机 printf("使用printf函数将数据输出到上位机\r\n"); while(1); } (4)如果使用的是MDK,请在工程属性的“Target“-》”Code Generation“中勾选”Use MicroLIB“ ...
1、USART简介及相关函数介绍 USART全称为Universal Synchronous/Asynchronous Receiver/Transmitter(通用同步/...
5.main函数 int main(void){ GPIO_Configuration();USART1_Configuration();NVIC_Configuration();while...
/***串口函数***/ void USART1_Init(u32 bound); //串口初始化 void USART_SendBit(USART_TypeDef* USARTx,u16 Data); //发送单个数据 uint16_t USART_ReceiveBit(USART_TypeDef* USARTx); //接收单个数据 void USART_SendString(USART_TypeDef* USARTx,char *string); //发送字符串 #endif usart.c #...
void USART_SendString(USART_TypeDef* pUSARTx, uint8_t *str); #endif /* __BSP_USART_H */ 串口数据回显(接收到数据,然后通过串口原样发送) void DEBUG_UASRT_IRQHandler(void) { uint8_t ucTemp; if (USART_GetITStatus(DEBUG_USARTx, USART_IT_RXNE) != RESET) ...
USART_SendString(USART2,Menu[2]); USART_SendString(USART2,Menu[3]); 但是不连续发送就不会出现这种现象,或者一句句调试打印也不会出现不换行的现象,断定是连续发送的时间间隔太短,软件还没来得及换行,就又重新显示新数据,那么就在USART_SendString的尾部加了延时,就解决问题了。