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.

[参考译文] CCS:在运行时更改常量值。

Guru**** 2457760 points
Other Parts Discussed in Thread: TM4C123GH6PM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/646972/ccs-changing-constant-value-while-run-time

主题中讨论的其他器件:TM4C123GH6PM

工具/软件:Code Composer Studio

是否可以在调试模式(或运行时间)下更改常量值? 如果是,如何?

我正在处理通信项目、其中有5个节点(TM4C123GH6PM)为每个节点分配了一个常量地址、如果一个节点向其他节点发送命令以更改地址、常量值将被覆盖为新地址。

示例- MCUx (地址3)至 MCUy (地址4)-"更改地址"

MCUy 将地址更改为某个其他值-地址7成为 MCUy 的新地址。

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

    [引用 user="bhavuk lalwani"]我正在开发通信项目,其中有5个节点(TM4C123GH6PM)为每个节点分配了一个常量地址,如果一个节点向其他节点发送命令以更改地址,则常量值将被覆盖为新地址。

    如果您有更改地址的命令、则地址不应是常量、应该是常量吗?

    Robert

    尽管如此、您有命令通过通信更改地址、这让我感到很轻松。

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

    如果您(实际上实施了此类措施)甚至是(有点)组织混乱/注意力不足(例如 Moi)-您提供了"为自己的葬礼道听途说"。    您将如何"跟踪"""谁"-何时可能(或确实)发生此类更新?  

    而且-作为海报 Robert (提示)-不能因为"意外和/或意外"的后果而发生这种变化?    (例如:您尝试将("节点3"更改为"节点4")-但出于(任何)原因-更改失败。    那么呢?

    需要非常准确的(纸张或硅片)"跟踪"、而且经常会忽略、丢失或错误记录。     那么呢?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    让我们这样说、这个学术项目要求我为连接到我的每个节点(主节点)分配恒定地址。 如果代码发现发送的有效命令的条件为真、那么我需要在代码处于调试模式时更改常量地址。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何在 CCS 中读取和写入 EEPROM 存储器?
    我不熟悉微控制器、因此如果看起来很愚蠢、我会道歉。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="bhavuk lalwani">如何在 CCS 中读取和写入 EEPROM 存储器?我没有亲自尝试过、但 通过 CCS 写入 EEPROM 时有一个示例 CCS GEL 文件 可能适用。

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

    [引用 user="bhavuk lalwani]]这样说,这个学术项目要求我为连接到我的每个节点(主节点)分配恒定地址。 [/报价]

    啊、我认为您可能是指网络地址/节点 ID、而不是更改命令读取/写入微存储器块的地址? 这一点不那么紧张。 您应该看看 LONWORKS 和 TCP/IP 在面临类似困境时的作用。

     [报价用户="bhavuk lalwani"]在[/报价]时,我需要更改常量地址

    实际上、我认为您首先需要做的是停止将其视为常数。 而是作为可配置的值、或者可能是描述性更强的持久变量。

    第二是确定在何种情况下允许进行变更、第三是确定可能的故障以及如何应对这些故障(包括初始条件)。

    Robert

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我引用 cmd 文件、.const 值会存储在存储器的闪存部分、因为这个原因、我是指一个常量值。

    只有当中间节点获得命令并在通过主节点完成轮询后选择可用地址时、才允许更改。 此代码中也会处理可能的故障、该代码可以是分配给2个节点的相同地址。

    更具体地说、我需要一些帮助从 EEPROM 读取存储器块、其中源地址最初定义为"#define Source_address 10"、如果收到命令、则该可配置值会写入其他可用值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="bhavuk lalwani"]如果我引用 cmd 文件,.const 值存储在内存的闪存部分

    这就是您需要停止它作为常量的原因。 因此、您可以停止将其作为 const 实现。

    Robert