6

回答

如题所示,我的stm32单片机在执行完AliIoT_HTTPsend(); 程序之后,应该向下执行    time_sta = 5;                                     u1_printf("time_sta的值:%d\r\n"time_sta);     u1_printf("发送了数据\r\n");但是通过串口发现,并没有执行,而是一直停在AliIoT_HTTPsend();这里,来回重启之后,还是卡在这里不动,请问如何解决。是什么问题?void AliIoT_HTTPsend(void) { char temp[128]; memset(TXbuff02048); sprintf(&TXbuff[2]"POST /topic%s HTTP/1.1\r\n"HTTP_TOPIC_NAME); memset(temp0128); sprintf(temp"Host:%s\r\n"ServerName); strcat(&TXbuff[2]temp); memset(temp0128); sprintf(temp"password:%s\r\n"Authtoken); strcat(&TXbuff[2]temp); strcat(&TXbuff[2]"Content-Type: application/octet-stream\r\n"); memset(temp0128); sprintf(temp"Content-Length: %d\r\n"Postdata_len); strcat(&TXbuff[2]temp); strcat(&TXbuff[2]"Connection: keep-alive\r\n\r\n"); 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的值:%d\r\n"time_sta);     u1_printf("发送了数据\r\n");​很惆怅,不知道什么情况,求解答?​

zhczlzhang 11:24 阅读:46

1

回答

想用绑定芯片,那么芯片开发需要自己设计吗,之前用的51单片机实现,现在需要用绑定芯片,那么需要做哪些流程才可以替换成绑定芯片

yhj416606438 07:12 阅读:25

2

回答

不考虑速度的情况下,是不是轨到轨运放可以替代普通的运放?

yhj416606438 07:06 阅读:26

5

回答

STM32中啥时候用到临界区,临界区有是啥概念?

huihui163 2020-11-23 阅读:23

2

回答

HAL库的回调函数怎么理解,是不是外设中断配置了,触发中断就会 进入回调函数。回调函数里适合用来处理通信转发、数据处理吗。可以不用回调函数吗?

请输入用户名 2020-11-23 阅读:15

5

回答

是不是每次写入都是要把整个扇区擦除才行,还是说擦除的是当前字节内容

yhj416606438 2020-11-22 阅读:55

0

回答

请问STM32H750与STM32H743VI可以pin-to-pin换用吗?

ca34e06efe65b241 2020-11-21 阅读:62

1

回答

正负14v供电,测量输入负是0v,输入正是-14v,这个时候理论上输出是-13v到-14v,但是实际输出是+13到14v之间,但是把输入负改到-10v左右就能使输出变成负压,为什么运放会有这种现象,芯片是没坏的,换新都一样

yhj416606438 2020-11-21 阅读:41

1

回答

PMOS管如何对电荷泄放的?如何快速关断?

huihui163 2020-11-20 阅读:32

2

回答

pt100通过op07给单片机提供0-5v电压测温度-5度到125度,单片机读的op07送过来的电压值怎么计算成实际温度值 感谢

e674842ebad10bac 2020-11-20 阅读:7

0

回答

应用: STM32F405, 串口使用DMA接收,接收数据大小不定, 问题:我通过上位机给STM发送数据(数据大小不定,小于256),第一次发送时,接收正常 之后再发送时,能够进入串口中断,但没有数据,读到的dma_cnt一直是256,这个可能的原因是什么呢? 主要程序如下:      RECVBUFF_SIZE=256 void Debug_USART_Config(void) { NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=DEBUG_PREE_PRIO; NVIC_InitStructure.NVIC_IRQChannelSubPriority = DEBUG_SUB_PRIO; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);         USART_Init(DEBUG_USART &USART_InitStructure); USART_ITConfig(DEBUG_USART USART_IT_IDLE ENABLE); USART_DMACmd(DEBUG_USARTUSART_DMAReq_RxENABLE);         USART_Cmd(DEBUG_USART ENABLE);         DMA_DeInit(DEBUG_USART_DMA_STREAM); while (DMA_GetCmdStatus(DEBUG_USART_DMA_STREAM) != DISABLE){}         DMA_InitStructure.DMA_Channel = DEBUG_USART_DMA_CHANNEL;           DMA_InitStructure.DMA_PeripheralbaseAddr = DEBUG_USART_DR_base;           DMA_InitStructure.DMA_Memory0baseAddr = (u32)RecvBuff;         DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;         DMA_InitStructure.DMA_BufferSize = RECVBUFF_SIZE;   DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;   DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;   DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;   DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;   DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;     DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;    DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;   DMA_Init(DEBUG_USART_DMA_STREAM &DMA_InitStructure);   DMA_Cmd(DEBUG_USART_DMA_STREAM ENABLE); while (DMA_GetCmdStatus(DEBUG_USART_DMA_STREAM) != ENABLE){} } void USART1_IRQHandler(void) { uint16_t dma_cnt;     if(USART_GetITStatus(DEBUG_USART USART_IT_IDLE) != RESET)     {         USART_ReceiveData(DEBUG_USART); dma_cnt = DMA_GetCurrDataCounter(DEBUG_USART_DMA_STREAM);         uart1_rev_len =RECVBUFF_SIZE-dma_cnt;         if(uart1_rev_len != 0)         {    uart_parse(RecvBuff);             hw_memset(RecvBuff0sizeof(RecvBuff));         }         USART_ClearITPendingBit(DEBUG_USARTUSART_IT_IDLE);         DMA_Cmd(DEBUG_USART_DMA_STREAM DISABLE ); while (DMA_GetCmdStatus(DEBUG_USART_DMA_STREAM) != DISABLE){}        DMA_SetCurrDataCounter(DEBUG_USART_DMA_STREAMRECVBUFF_SIZE);        DMA_Cmd(DEBUG_USART_DMA_STREAM ENABLE);     } } uart_parse(RecvBuff)是解析收到的数据, 另外如果串口中断最后,加while (DMA_GetCmdStatus(DEBUG_USART_DMA_STREAM) != ENABLE){}的话 程序会卡死在while循环里

有花堪折 2020-11-20 阅读:12

5

回答

STM32F407有哪些可以使用5V供电的引脚

木兮青鱼 2020-11-19 阅读:63

2

回答

STM32中,__disable_irq();“Go To Difinition”的方法,也找不到

huihui163 2020-11-19 阅读:25

0

回答

如果没有硬件外设可以读写psram可不可以用io软件读写

yhj416606438 2020-11-19 阅读:20

4

回答

STM32的哪种库函数运行效率比较的高。

牛妞小小 2020-11-18 阅读:35

3

回答

在做编码电机的时候有个问题一直困扰我好久,F4的编码器模式下的工作方式如下图所示,我不明白的地方是,CNT寄存器在未计数是初始值是0吗?如果是0的话,要是一开始就B相就超前A相90度,CNT递减,但是CNT寄存器没有极性,不能表示正负,而且CNT寄存器里面初值是0,这时侯如何递减呢?最低就是0了。

dadaxiu 2020-11-18 阅读:27

5

回答

stm32F1突然用不了,换电脑换数据线连接都一样,且开关位置发热严重

万里追牛 2020-11-18 阅读:28

0

回答

没有使用usb功能和can,内部时钟,请问移植的时候需要修改那些部分

yhj416606438 2020-11-18 阅读:13

0

回答

光猫信号不好,需要用无线中继,但是光猫有时候会变化信道导致中继路由器连接不上,光猫普通用户登录无法设置wifi信道,有没有办法让中继路由器不断网

yhj416606438 2020-11-18 阅读:13

2

回答

是不是必须装app才能搜到,为什么蓝牙耳机可以直接用手机蓝牙搜索到

yhj416606438 2020-11-17 阅读:18
  • 帮助人数
  • 0
  • 获得赞数
  • 0
  • 一周积分
  • 0

每日任务

提问一次
100IC币
回答一次
30IC币

问题达人换一批

本月问答IC币兑换

排名
用户名
问答积分
可兑换IC币
1
1574
40000
2
1394
40000
3
1108
30000
4
914
20000
5
458
10000
6
420
10000
7
400
10000
8
300
8000
9
240
6000
10
232
6000
11
206
6000
12
200
6000
13
186
4000
14
174
4000
15
170
4000
16
142
4000
17
134
4000
18
124
4000
19
100
4000
20
90
2000
21
86
2000
22
80
2000
23
70
2000
24
56
2000
25
50
2000
26
46
1000
27
42
1000
28
40
1000
29
40
1000
30
36
1000
< 123 >