首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keil Debug-Watch窗口中出现的随机符号

Keil Debug-Watch窗口中出现的随机符号
EN

Stack Overflow用户
提问于 2020-06-19 07:04:18
回答 1查看 53关注 0票数 0

我的项目涉及在两个射频收发器模块(一个用作主发射器,另一个用作接收器)之间无线发送4个8位数据。在接收器的端点上使用Keil uVision5的调试器(在我观察某些变量的Watch窗口中),我注意到在模块的另一端接收到的数据是正确的,但符号出现在变量的某些(不是所有)值的末尾。

数据以以下结构的形式发送:

代码语言:javascript
复制
typedef struct
{
   uint8_t Cmd;         // Command/Operation
   uint8_t DataLen;     // Length of Data
   uint8_t* DataBuff;   // 2 Bytes of data
} RFFrame_t;

static RFFrame_t _xTxFrame;    // variable that will hold the data to be transmitted

对于某些上下文,“命令/操作”是:

代码语言:javascript
复制
#define SHUTTEROFF_CMD    ((uint8_t)0xDD)
...
_xTxFrame.Cmd = SHUTTEROFF_CMD;

'Length of Data‘是:

代码语言:javascript
复制
#define TX_BUFFER_SIZE     2
uint8_t TxLength = TX_BUFFER_SIZE;
...
_xTxFrame.DataLen = TxLength;

“数据缓冲区”是:

代码语言:javascript
复制
uint8_t aTransmitBuffer[TX_BUFFER_SIZE] = {17, 233};
...
_xTxFrame.DataBuff = aTransmitBuffer;

这是我所看到的截图:

在上面的屏幕截图中,_xRxFrame.Cmd是十六进制显示的,而_xRxFrame.DataLen、_xRxFrame.DataBuff和_xRxFrame.DataBuff1不是十六进制显示。

符号'Y‘和'e’分别出现在0xDD和233的后面,这对于代码来说实际上不是一个错误,因为一切工作正常。我只是好奇为什么会发生这样的事情。这些符号随机出现在调试窗口中是正常的吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-06-19 07:08:07

值的读取值是233和0xDD;并且它们被声明为uchar。如果您检查ascii表,它将匹配这些字符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62460753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档