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.

[参考译文] TM4C123GH6PGE:TM4C123GH6PGE

Guru**** 2455360 points
Other Parts Discussed in Thread: CC3100

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/635763/tm4c123gh6pge-tm4c123gh6pge

器件型号:TM4C123GH6PGE
主题中讨论的其他器件:CC3100

主席先生,大家下午好,

我已经拥有并连接 SD 卡和 GSM 模块及其功能、我已经为这两个模块开发了一个代码。我的应用是、我希望通过 GSM 将传感器数据发送到 Web、并希望同时将数据发送到 SD 卡。 现在我遇到了 gsm 模块的问题。如果没有网络、则 GSM 无法工作、数据也不会传输到 SD 卡。

我请求您建议我如何连接两个模块及其功能同时工作。

提前感谢。

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

    虽然我了解您问题的描述、但仍缺少大量信息、甚至无法开始提出解决方案的建议。

    对于您为每个模块开发的代码、您是否从任何软件示例开始? 如果是、是哪一个?

    您是否正在使用 RTOS?

    您使用什么来进行 GSM 并将数据发送到网络? WiFi? 如果是、哪个器件? CC3100? 由于您列出的 TM4C 器件没有以太网外设、因此我真的不知道 GSM 器件的外观。 请提供更多详细信息。

    如果您可以为您的程序创建一个有关预期代码流的高级方框图、这也会有所帮助。

    最后、您的主题帖标题应该更具描述性、以帮助吸引社区成员的注意力、他们可能已经完成了类似的应用、也可以帮助指导您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Ralph Jacobi"]您的主题应更具描述性,以帮助吸引关注

    ***类似***

    (尽管"更多"描述证明了过度表述-器件型号重复(仅限)-作为标题-失败不可避免!)

    非常整洁、可以看到供应商代理加入"外部人员"、他们(较早/正确)注意到并建议/纠正了这种不遵守...

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

    我不使用 RTOS、而是使用 SIM900A 模块为 GPRS 开发代码、并将数据发送到 Web 服务器、

    现在我的问题是、当我初始化 GSM 函数时、它每次都会检查 AT 命令。如果失败、则它不会转到下一个函数、即 SD 卡写入函数。

    那么、现在我想的是、如果可以使用计时器中断、 如果可以、我请求您建议我如何使用它同时工作两个功能?


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

    如果您希望每个任务以特定的时间间隔执行、则可以使用计时器。 如果是、那么这是一个选项。

    不过、听起来更像是您的代码流出现了问题。 处理 GSM 和 SD 卡的块应该完全相互独立。 SD 卡 API 应独立、能够被主函数或 GSM 函数调用、同样适用于 GSM。 然后、如果主功能设置正确、您可以尝试先在 GSM 上连接、但如果失败、您仍然可以与 SD 卡通信。 或者、如果 GSM 成功、您可以通过 GSM 并将数据发送到 SD 卡。

    您应该设法确保模块是分开的、而不是相互依赖、然后如果您确定情况、只需调整 main 中任务的流程。 另一个提示是、您需要一个标志来指示 GSM 是否已连接、或者不知道当您成功使用 GSM 部件时、您不需要写入 SD 卡、因此您不会出于任何原因重复写入。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我先添加了 GSM 代码,然后在我的主函数中添加了 SD 卡功能。现在我遇到的问题是,如果 GSM 没有连接到互联网,则程序执行不会进入 SD 卡功能。

    我想请您、您能否向我发送任何示例代码、以便同时执行两个模块、这意味着彼此独立。
    请建议我如何在 main 函数中添加两个模块函数、即 GSM 和 SD 卡、以便正常工作、不会相互干扰。


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

    我们没有针对此类特定应用的示例。

    如上所述、如果这两个模块是单独的、则只需正确编写程序流即可。

    您应该制作一个代码执行方式的流程图、然后查看主函数的功能、以查看代码与该流程图不符的位置。

    同样、您应该有一些系统来知道您是否有 GSM 连接、如果没有、则提示一段代码仍写入 SD 卡。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢先生向我提出的建议、


    我根据您的指示尝试了前面的代码。最后、代码工作正常。

    非常感谢。