教你如何使用stm32发送一帧数据(结构体中的数据)
2018-01-25 09:09
232 查看
在这篇文章中我介绍一下如何通过串口发送一帧存在结构体中的数据。通过串口接受一帧数据请参考的我博客中的文章——教你如何使用stm32接收一帧数据!
一:在.h首先定义一个结构体。
二:在.c文件中先调用结构体。
三:自定义发送函数。
四:调用自定义函数发送结构体数据。
一:在.h首先定义一个结构体。
typedef struct { uint8_t H1; uint8_t F1; uint8_t A[7]; uint8_t AN; uint8_t L; uint8_t NU[3]; uint8_t Mode; uint8_t ExOut_Temp[2]; uint8_t NowIn_Temp[2]; uint8_t NowOut_Temp[2]; uint8_t Ex_Open[2]; uint8_t Now_Open[2]; uint8_t Ex_PRESSSUB[2]; uint8_t Now_PRESSSUB[2]; uint8_t RTC_Time[7]; uint8_t ST; uint8_t CS; uint8_t End; }__attribute__ ((packed)) Read_Back;
二:在.c文件中先调用结构体。
Read_Back read_back;
Read_Back *Read_back=&read_back;
三:自定义发送函数。
void Read_Ack(Read_Back *p,u8 len) //形参1为结构体的首地址 &read_back 形参2 为发送帧的长度 { static u8 date,i; for(i=0;i<len;i++) { date= * (((u8*) &p->H1)+i); //每次循环将指针指向结构体中的下一个数据 USART_SendData(USART3,date); //通过串口3发送数据 while( USART_GetFlagStatus(USART3,USART_FLAG_TC)!= SET); //等待发送完成 } }
四:调用自定义函数发送结构体数据。
Read_Ack(&read_back,len);
相关文章推荐
- STM32的USART发送数据时如何使用TXE和TC标志
- STM32的USART发送数据时如何使用TXE和TC标志
- STM32的USART发送数据时如何使用TXE和TC标志
- STM32的USART发送数据时如何使用TXE和TC标志(认识1)
- STM32的USART发送数据时如何使用TXE和TC标志
- STM32的USART发送数据时如何使用TXE和TC标志
- 20130408-[转]STM32的USART发送数据时如何使用TXE和TC标志
- STM32的USART发送数据时如何使用TXE和TC标志
- STM32的USART发送数据时如何使用TXE和TC标志
- STM32的USART发送数据时如何使用TXE和TC标志
- android端和pc端使用usb进行socket通信,其中android是服务器端,pc是客户端。如何实现安卓端输入的数据通过按钮发送到pc端?
- python下如何使用requests发送multi-part类型的数据
- wifi模块简单使用教程,如何将数据发送到电脑(esp8266 arduino库的使用)
- 如何使用JRtpLib3.5.0库中的函数和类对象和让JRTPLIB 发送/接收数据时使用同一个端口收藏
- 如何通过使用 VisualC # .NET /VB.NET 向打印机发送数据/控制命令
- STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK)
- Golang web 开发实战之 session 缓存:如何使用 redigo 将一个结构体数据保存到 redis?
- 如何使用web api测试工具siege和ab的post方法来发送json数据
- STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK)
- STM32L1XX使用HAL_UART_Transmit_DMA发送串口数据