OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2512|回复: 2

数组改大后,程序无法运行,求助

[复制链接]

2

主题

4

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2019-4-26
在线时间
4 小时
发表于 2019-5-23 18:33:53 | 显示全部楼层 |阅读模式
1金钱


程序如下,我将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);       
        }
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14433
金钱
14433
注册时间
2018-8-3
在线时间
1157 小时
发表于 2019-5-23 18:53:08 | 显示全部楼层
大数组 不要定义在函数内部 试下在外部定义再去调用看看
回复

使用道具 举报

37

主题

596

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1574
金钱
1574
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-5-23 19:36:28 | 显示全部楼层
堆和栈设置大一些。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-26 01:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表