完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
if(timex)timex--;
if(timex==1)LCD_Fill(30+54,100,239,112,WHITE); t++; delay_ms(10); if(USART3_RX_STA&0X8000) { rlen=USART3_RX_STA&0X7FFF; USART3_RX_BUF[rlen]=0; printf("%s",USART3_RX_BUF); sprintf((char*)p,"**********",rlen); LCD_Fill(30+54,115,239,130,WHITE); POINT_COLOR=BRED; Show_Str(30+54,115,156,12,p,12,0); POINT_COLOR=BLUE; LCD_Fill(30,130,239,319,WHITE); Show_Str(30,130,180,190,USART3_RX_BUF,USART3_RX_STA=0; if(constate!=3)t=1000; else t=0; } [size=15.1999998092651px]USART3_RX_BUF[rlen]这个数组是接收发来的数据的。我不用电脑发送数据时,lcd上就显示接收了数据了。 假如我发送1,我想知道在[size=15.1999998092651px]USART3_RX_BUF[rlen]中的第几个数。我想实现pc端发送一个1,单片机接收到后,LED1亮起来,但是不知道1是在这个数组中的第几个。 [size=15.1999998092651px]我加了一句if([size=15.1999998092651px]USART3_RX_BUF[10]==1[size=15.1999998092651px])LED1=0;困扰我好久了,求解答。 |
|
相关推荐
2个回答
|
|
里面有句式 USART3_RX_BUF[rlen]=0; 说明在结尾加上0作为结束符,所以我觉得是USART3_RX_BUF[10]
|
|
|
|
那你接收的数组成员大于10个呢,rlen是实际接收的数组长度,USART3_RX_BUF[rlen]=0;也就是在末尾加结束符
|
|
|
|
只有小组成员才能发言,加入小组>>
7356 浏览 9 评论
2441 浏览 2 评论
为什么我用esp8266做TCP服务器网络调试助手一直连接不上去?
9537 浏览 3 评论
为什么我的ESP8266 AT指令一直返回error无法正常使用?
7379 浏览 0 评论
4196 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 10:31 , Processed in 0.851637 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号