关于STM32的USART整理的全局函数 HAL_USART.C介绍 (2)

函数及功能介绍:

/**
	* @brief	结构体公共部分初始化
	* @param[in]	
	* @retval  
	* 公共部分初始化为 0 或固定值的参数初始化,其余参数另行初始化
	*/
void USARTx_PublicInit(USARTx_BufferType *USARTx_Buffer)

/**
	* @brief	清除 结构体的接收/发送缓存及接收/发送标志
	* @param[in]	USART_Buffer 接收发送数据结构体
	* @param[in]	mode: 初始化模式 |0x01 初始化接收缓存区
	*                               |0x02 初始化发送缓存区
	*				|0x04 初始化接收长度
	*				|0x08 初始化发送长度
	* @retval  
	*/
void USARTx_BufferType_ResMark(USARTx_BufferType *USARTx_Buffer,u8 mode)
/**
	* @brief 中断发送串口字符
	* @param[i] USARTx: USART1..3 
	* @param[i] USARTx_Buffer  串口结构体
	* @retval
	* 函数使用说明:
	* 1、该函数调用在使用串口发送的函数中,把要发送的数据赋值给 USARTx_Buffer->sendbuff[] 数组,
	*	   把发送长度赋值给 USARTx_Buffer->send_size
	* 2、串口发送的方式采用发送完成产生中断,此函数中发送一次数据,产生一个串口发送完成中断,后续数据在串口中断函数中完成
	* 3、采用485传输时使 485CLK = 1(发送模式)
	* 4、UART4 采用DMA发送/或者普通发送 无法使用中断
	*/
bool USARTx_Protocol_Send(USART_TypeDef *USARTx,USARTx_BufferType *USARTx_Buffer)
/**
	* @brief 串口数据处理函数
	* @param USARTx_Buffer  串口结构体
	* response :TRUE 需要应答,FALSE 不需要应答	即回应数据
	* @retval 
	* 函数使用说明:
	* 1、先在 USARTx_StructInit() 函数中根据硬件及需求初始化对应的处理函数 USARTx_Buffer->Data_Processing = &(UOCS_Data_Processing);
	* 2、按照需求对 UOCS_Data_Processing() 函数进行修改
	* 3、在定时器中按照需求调用本函数 最长刷新时间 可根据波特率进行计算
	* T = 1s * 10bit / bps = 1000 * 10 /9600 (ms) = 1.0417 ms.
	* 4、采用DMA方式时 从DMA接收数组中循环检验数据。
	*/	
void USARTx_Data_Processing(USART_TypeDef *USARTx,USARTx_BufferType *USARTx_Buffer,bool response)

/**
	* @brief 串口中断接收处理函数 
	* @param 	USARTx x =1.2.3
	*		USARTx_Buffer 
	* @retval
	* 函数说明:应用在串口中断服务函数中,用于数据接收及数据处理 
	*/	
void USARTx_IRQ_Receive(USART_TypeDef *USARTx,USARTx_BufferType *USARTx_Buffer)
/**
	* @brief 串口中断发送处理函数
	* @param 	USARTx x =1.2.3
	*		USARTx_Buffer 
	* @retval
	* 函数说明:应用在串口中断服务函数中,用于数据发送,
	* 1、采用485传输时,在传输完成后设置485CLK = 0
	* 2、发送数据采用发送完成中断,
	*/	
void USARTx_IRQ_Send(USART_TypeDef *USARTx,USARTx_BufferType *USARTx_Buffer)
/**
	* @brief 串口 printf 打印函数
	* @param 	USARTx: USART1..3
	*		Send_Buff	要发送的字符串地址指针
	* @retval 
	* 函数说明:
	* 1、采用DMA方式发送 需要细分各个串口对应的DMA通道
	* 2、采用普通方式发送
	*/
void USARTx_Printf(USART_TypeDef *USARTx,USARTx_BufferType *USARTx_Buffer,char *fmt,...)
/**
	* @brief 串口 printf 打印函数 参数固定
	* @param 	USARTx: USART1..3
	*		Send_Buff	要发送的字符串地址指针
	* @retval 
	* 函数说明:
	* 1、采用DMA方式发送 需要细分各个串口对应的DMA通道
	* 2、采用普通方式发送
	*/
void USARTx_SendBuff(USART_TypeDef *USARTx,USARTx_BufferType *USARTx_Buffer)






猜你喜欢

转载自blog.csdn.net/u012166958/article/details/80195509
今日推荐