STM32的串口通信(2)

本文介绍了STM32的两种串口通信方法。一种是自定义发送函数,包括发送字节、8位数组、字符串和16位数组的实现。另一种是利用C库的printf()函数,但需注意需先将printf()重定向到串口。
摘要由CSDN通过智能技术生成
接上篇,将串口初始化完成后,需要进行数据的接收和发送,在main函数中调用固件库中的函数,进行数据的发送,从而实现与上位机的通信,但注意的是,固件库中的发送数据函数支持的格式很少,所以需要另外编写发送函数。介绍两种方法
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)

第一种,自己编写发送函数,以下为例

发送一个字节

void Usart_SendByte( USART_TypeDef * pUSARTx, uint8_t ch)
{
	/* 发送一个字节数据到USART */
	USART_SendData(pUSARTx,ch);
		
	/* 等待发送数据寄存器为空 */
	while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);	
}

发送一个8位数组

void Usart_SendArray( USART_TypeDef * pUSARTx, uint8_t *array, uint16_t num)
{
  uint8_t i;
	
	for(i=0; i<num; i++)
  {
	    /* 发送一个字节数据到USART */
	    Usart_SendByte(pUSARTx,array[i]);	
  
  }
	/* 等待发送完成 */
	while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET);
}

发送字符串

void Usart_SendStri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值