程序如下,我将u16 adc_data[128]; u8 send_data[256];这两个数组改成u16 adc_data[256];u8 send_data[512]后,即是都扩大一倍,程序运行出现问题,LED灯不闪烁
而数组较小的那个可以正常运行,求指导,这个是什么问题呢?
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "adc.h"
#include "malloc.h"
//#include "string.h"
//#include "stdio.h"
//#include "common.h"
extern void *malloc(unsigned int num_bytes);
extern void *memcpy(void *dest, const void *src, unsigned int n);
//extern char strlen(char str);
/************************************************
************************************************/
char* zm_atk_8266_check_cmd(u8 *str);
u8 zm_atk_8266_send_cmd(u8 *cmd,u8 *ack,u16 waittime);
u8 zm_atk_8266_consta_check(void);
u8 zm_atk_8266_send_data(u8 *data,u8 *ack,u16 waittime);
void data_trans(u16 *data, u16 len);
int main(void)
{
u16 i;
//u16 len,t,times=0;
// u16 *adc_data=(u16*)malloc(256*sizeof(u16));
// u8 *send_data=(u8*)malloc(1024*sizeof(u8));
u16 adc_data[128];
u8 send_data[256];
delay_init(); //Ñóê±oˉêy3õê¼»ˉ
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//éèÖÃÖD¶ÏóÅÏ輶·Ö×éÎa×é2£o2λÇàÕ¼óÅÏ輶£¬2λÏìó|óÅÏ輶
uart_init(115200); //′®¿ú3õê¼»ˉÎa115200
LED_Init(); //LED¶Ë¿ú3õê¼»ˉ
Adc_Init(); //ADC3õê¼»ˉ
zm_atk_8266_send_cmd("AT","OK",20);
zm_atk_8266_send_cmd("AT+CWMODE=2","OK",20);
zm_atk_8266_send_cmd("AT+CIFSR","OK",20);
zm_atk_8266_send_cmd("AT+CIPMUX=1","OK",20);
zm_atk_8266_send_cmd("AT+CIPSERVER=1,8080","OK",20);
while(1)
{
for(i=0;i<100;i++)
{
adc_data=Get_Adc(ADC_Channel_1);
//adc_data=0x1234;
}
memcpy(send_data,adc_data,strlen(adc_data)*2+1);
zm_atk_8266_send_cmd("AT+CIPSEND=0,512","OK",10);
zm_atk_8266_send_data(send_data,"",10);
LED0=!LED0;
delay_ms(100);
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>