stm32f10x串口通讯
USART_Rx_Sbuffer二维数组 -> 串口接收缓存区
一共3行 Rx_SbufferSize 列 ,Rx_SbufferSize由宏定义。
0,1,2行分别是串口1,2,3的接收缓存,由串口中断将接收到的数据存入对应的缓存区中。
可以使用Usart_Read()函数来读取缓存区的内容,(返回的是对应缓存区的首地址),**特别注意! 每行第1个元素表示的式该行接收到的数据个数,并不是接收到的数据!**读取到内容(或帧)后,可以使用USART_Push()和USART_Clear()来清除缓存区。
USART_Tx_Sbuffer二维数组 -> 串口DMA发送缓存区
一共3行 Tx_SbufferSize 列,Tx_SbufferSize 由宏定义。
0,1,2行是表示串口1,2,3的发送缓存,由串口发送函数Usart_Send()将要发送的数据存入对应的缓存区中。特别注意! 每行第1个元素表示的式该行要发送的数据的个数,并不是要发送的数据,同时具有DMA在忙标志位的作用,在忙标志由DMA中断清除。
stm32f10x串口通讯
USART_Rx_Sbuffer二维数组 -> 串口接收缓存区
一共3行 Rx_SbufferSize 列 ,Rx_SbufferSize由宏定义。
0,1,2行分别是串口1,2,3的接收缓存,由串口中断将接收到的数据存入对应的缓存区中。
可以使用Usart_Read()函数来读取缓存区的内容,(返回的是对应缓存区的首地址),**特别注意! 每行第1个元素表示的式该行接收到的数据个数,并不是接收到的数据!**读取到内容(或帧)后,可以使用USART_Push()和USART_Clear()来清除缓存区。
USART_Tx_Sbuffer二维数组 -> 串口DMA发送缓存区
一共3行 Tx_SbufferSize 列,Tx_SbufferSize 由宏定义。
0,1,2行是表示串口1,2,3的发送缓存,由串口发送函数Usart_Send()将要发送的数据存入对应的缓存区中。特别注意! 每行第1个元素表示的式该行要发送的数据的个数,并不是要发送的数据,同时具有DMA在忙标志位的作用,在忙标志由DMA中断清除。
举报