This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/EK-TM4C123GXL:将一个指针从数组传递到一个函数

Guru**** 1791630 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/570585/compiler-ek-tm4c123gxl-hand-over-a-pointer-from-an-array-to-a-function

器件型号:EK-TM4C123GXL

工具/软件:TI C/C++编译器

您好、社区

我在对 MC 进行编程时遇到问题。

我修改了示例项目 project0、通过 UART 进行去抖打印-这很好。

然后、我添加了一个函数(在新的源文件中)、将其添加到 makefile 文件中、并将所有需要执行的操作添加到了一起、让此函数通过 UART 打印一句话-这也是有效的。

现在是有趣的部分。 我初始化数组 (点只填充一个长句子):

               uint8_t message_str[281]="..."

然后、我让一个指针指向该数组

               uint8_t * message =&message_str[0];

我把小马交给我的功能、但我不使用它!! 如果我通过 makefile 编译和刷写代码、我不会收到错误消息、但如果我将其刷写到 MC (使用 lm4flash)、MC 实际上不会执行任何操作。

但是,当我将数组的大小(例如,uint8_t message_str[120]=“……”) 然后编译代码并将其刷写、它就可以工作了!!!!

我很绝望,很高兴能得到任何帮助!!

提前感谢!

不需要

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Nate、

    您可以随附 CCS 项目以进行代码分析和测试吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我解决了问题。 启动文件中定义的最大允许堆栈大小发生。

    此致、
    不需要
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好 Nate

    很高兴您能找到原因、感谢您将其发布在论坛上、