完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
板子例程中有一个发送一个字节的函数
写了一个字符串的的发送 void HMISends(char *buf1) //字符串发送 { u8 i=0; while(1) { if(buf1[i]!=0) { USART_SendData(USART1,buf1[i]); //发送一个字节 while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET){};//等待发送结束 i++; } else return ; } } } 如果接收字符串要如何写呢,发送方不会判断来一个字节一个字节的发送,直接发送过来四个字节这种,虽然我只想取第一个字节,但是如果直接用USART_ReceiveData(USART1)这个函数就只能收到最后一位 写不出来呀,困扰了好久。 |
|
相关推荐
6个回答
|
|
设置buffer,既然是通讯,就有定义协议。根据协议设置buffer大小就ok
|
|
|
|
设置数组
|
|
|
|
我在做一个WIFI模块,在手机上发送FF010745FF,然后单片机接受到数据执行相应功能,其中接收数据时一次接收几位,用哪个函数接收。想请教,谢谢 |
|
|
|
设置一个接收缓存(数组),在接收中断中把数据接收,然后需要的时候从数组中读取数据,然后再选择你需要的数据。以下作为参考
void UART1_IRQHandler(void) //串口1中断服务程序 { u8 UartReadTemp; if (RESET != USART_GetITStatus(USART1, USART_IT_RXNE)) //接收中断 { USART_ClearITPendingBit(USART1, USART_IT_RXNE); UartReadTemp = USART_ReceiveData(USART1); if (Bit_SET == UartRecvFrameOK) { UART1_RXBuffLen = 0; } if (UART1_RXBuffLen < (sizeof(UART1_RXBuff) / sizeof(UART1_RXBuff[0]))) { UART1_RXBuff[UART1_RXBuffLen] = UartReadTemp; UART1_RXBuffLen++; } UartRecvFrameOK = Bit_RESET; UartRecvNewData = Bit_SET; TIM_ITConfig(TIM7, TIM_IT_Update, DISABLE); TIM_Cmd(TIM7, DISABLE); TIM_SetCounter(TIM7, 0); TIM_Cmd(TIM7, ENABLE); //当上位机发送数据下来时,开启TIM7 TIM_ITConfig(TIM7, TIM_IT_Update, ENABLE); } if (RESET != USART_GetFlagStatus(USART1, USART_IT_ORE)) { USART_ClearITPendingBit(USART1, USART_IT_ORE); //清溢出中断标志位 } } s32 UART1_RecvData(u8* UART1_RecvBuff, u32 Len) //接收数据 { u32 i = 0; if ((0 == Len) || (((u8*)NULL) == UART1_RecvBuff)) //检查参数 { return 0; } if ((Bit_RESET == UartRecvFrameOK) || (0 == UART1_RXBuffLen)) { return 0; } if (Len < UART1_RXBuffLen) { return -1; } Len = UART1_RXBuffLen; for (i = 0; i < Len; i++) { UART1_RecvBuff[i] = UART1_RXBuff[i]; } UartRecvFrameOK = Bit_RESET; UART1_RXBuffLen = 0; return Len; } |
|
|
|
|
|
meimengxing2014 发表于 2016-9-8 23:01 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 18:49 , Processed in 0.606273 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号