今天我将LED,DMA,I2C,USART,TIMER,MALLOC,ADC,LAN放在一起。因为用到网络通信这块,初始化 my_mem_init(SRAMIN) 的时候,也就是初始化内部内存池,采集的ADC值是存放在一个u16 buf[32]里面,结果取出数据的时候,发现异常,比如取出数组一个buf[0]的时候,发现数值居然是0xc2d3;相当于已经超出ADC采集的最大12位 0xfff,当我屏蔽掉 my_mem_init(SRAMIN) 这个时候,结果正常了。网上关于内存管理,资料很少。请求原子哥或者高手,解答一下我的燃眉之急。谢谢
对的 ADC采集最大也就是12位采集,但是采集的数据存到BUF里面,明显看到BUF里面的数据已经超过0XFFF了。一起查找一下原因,看看具体是哪里问题
一周热门 更多>