用全局数组存串口数据成功,但是用全局指针存就错了,这是为什么?

2019-07-20 06:40发布

STM32F407通过串口1读数据,在uart.c中定义全局数组接收串口数据如{1,2,3,4,5},再在main函数中输出该数组没有问题,输出的数组是{1,2,3,4,5},但是如果把全局数组换成指针来接收,那么接收来的值就无法赋值给指针数组,指针数组的值就会是{0,0,0,0,0},请问大佬们怎么解决。(不能用数组接收,因为串口通讯的模块是买来的,不开源,他就是一下子发50000个字节,如果一下定义50000字节的数组,他会报错,所以没办法只能开辟外部SRAM的办法存,只能用指针)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
szczyb1314
1楼-- · 2019-07-20 09:55
 精彩回答 2  元偷偷看……
yklstudent
2楼-- · 2019-07-20 12:48
关键你怎么用指针的?
jxcrgt35
3楼-- · 2019-07-20 14:03
unsigned char *buff;  *(buff++)=uart_rec_data;
HXYDJ
4楼-- · 2019-07-20 19:30
 精彩回答 2  元偷偷看……
Psheng
5楼-- · 2019-07-20 23:18
 精彩回答 2  元偷偷看……
ISO14882
6楼-- · 2019-07-21 01:48
本帖最后由 ISO14882 于 2018-8-17 12:08 编辑

使用scatter file重定位该全局符号至SRAM首地址,另外在elf格式文件中全局变量会放入bss段,默认以0初始化,我不知道axf是怎样的,据说结构差不多

一周热门 更多>