完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 夜孤影 于 2020-11-24 13:59 编辑 如题所示,我的STM32单片机在执行完AliIoT_HTTPsend(); 程序之后,应该向下执行 time_sta = 5; u1_printf("time_sta的值:%drn"time_sta); u1_printf("发送了数据rn"); 但是通过串口发现,并没有执行,而是一直停在AliIoT_HTTPsend();这里,来回重启之后,还是卡在这里不动,请问如何解决。是什么问题? void AliIoT_HTTPsend(void){ char temp[128]; memset(TXbuff02048); sprintf(&TXbuff[2]"POST /topic%s HTTP/1.1rn"HTTP_TOPIC_NAME); memset(temp0128); sprintf(temp"Host:%srn"ServerName); strcat(&TXbuff[2]temp); memset(temp0128); sprintf(temp"password:%srn"Authtoken); strcat(&TXbuff[2]temp); strcat(&TXbuff[2]"Content-Type: application/octet-streamrn"); memset(temp0128); sprintf(temp"Content-Length: %drn"Postdata_len); strcat(&TXbuff[2]temp); strcat(&TXbuff[2]"Connection: keep-alivernrn"); strcat(&TXbuff[2]Postdata); TXbuff[0] = strlen(&TXbuff[2])/256; TXbuff[1] = strlen(&TXbuff[2])%256; W5500_TxData((unsigned char *)TXbuff); } AliIoT_HTTPsend();一直执行到底,W5500_TxData();执行完成后,出现了“发送数据成功,等待接收... ...”,这表明了W5500_TxData执行完成,但是就是不返回main函数,不向下执行 time_sta = 5; u1_printf("time_sta的值:%drn"time_sta); u1_printf("发送了数据rn"); 很惆怅,不知道什么情况,求解答? |
|
相关推荐
2个回答
|
|
已解决,是w5500自身的问题,发送数据超出w5500的内部发送缓冲长度后,就会卡死。
|
|
|
|
在程序里每个语句后面加个打印,你就知道停在哪里了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1751 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1632 浏览 3 评论
4179 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1778 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2241 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-12 07:41 , Processed in 0.538192 second(s), Total 49, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号