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/MSP430F249:MSP430F249

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/869081/ccs-msp430f249-msp430f249

器件型号:MSP430F249

工具/软件:Code Composer Studio

你好

我声明了数组:

字节  C3_SMBus_Data[16]={

 0x00、0x01、0x02、0x04、0x08、 0x10、0x20、0x40、

 0x80、0x00、0x00、0x00、0x00、 0x00、0x00、0x00};

写入此数组的代码从 SMBus 状态机收集一个字节的数据、该状态机返回一个字节变量

SMBus_缓冲器:

  案例 C3_Capture_Cmd: //将数据包的第二个字节存储到命令字节中。

   if (C3_byte_read!=(C3_byte_read 和 SMBus_Flags)) {//等待字节读取完成。

    C3_SMBus_Command = SMBus_Buffer;

    SMBus_Flags   |= C3_BYTE_READ; //启用下一个 C3字节读取。

    DATA_Array_Length = 0;       //初始化字节计数/数组索引。

    //示波器触发器

    P1OUT &=~M_LED7; //打开 LED7。

    C3_SMB_Recv_State = C3_Capture_Data;

   }

   中断;

  案例 C3_Capture_Data: //将数据包的剩余部分存储到数据数组中。

    P1OUT |= M_LED7; //关闭 LED7。

   if (C3_byte_read!=(C3_byte_read 和 SMBus_Flags)) {//等待字节读取完成。

    C3_SMBus_Data[0]= SMBus_Buffer;//保存数据包数据。

    C3_Byte_RD_State = C3_Byte_Init;

    C3_SMB_Recv_State = C3_SMB_Recv_Idle;

   }

   中断;

返回时的 SMBus_Buffer 包含正确的值、在本例中为0x20、但数组元素索引0永远不会更改值、即使字节声明中的预设也不会按预期显示。

define 字节无符号字符

请提供建议。

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

    我的第一个想法是、这是优化器和/或调试器创建的幻象。 (它们实际上非常好。)

    阵列显示有什么不寻常之处?

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

    Bruce、

    当尝试查看数组的内容时、显示的值为句点或 AT 符号。 我希望看到一个介于0和0xFF 之间的数字。

    该程序中还有半打其它阵列的行为符合预期、因此我感到困惑。 如有必要、我可以发送整个 main.c 和 definitions.h 文件。

    谢谢、Harvey

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

    右键单击其中一个值,然后选择“数字格式->十六进制”。 我不知道 CCS 如何在开始时决定使用哪种格式。

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

    您好 Harvey、

    此问题是否得到解决?

    伊斯天