開發平台(Platform): (Ex: Win10, Linux, ...)
win7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
keil C
問題(Question):
程式碼裡面紅色那行會 warining
multiple unsequenced modifications to 'm_rs2CmdLen'
如何改比較好
程式碼(Code):(請善用置底文網頁, 記得排版)
volatile uint16_t m_rs2CmdLen;
volatile int m_rc;
static char m_rs2CmdBuf[255];
void main (void)
{
m_rs2CmdLen = 0;
while (TRUE)
{
if (m_rc >= 0)
{
m_rs2CmdBuf[m_rs2CmdLen] = (char) m_rc;
m_rs2CmdLen = (++m_rs2CmdLen & 255);
if (m_rc == ASCII_CR) /* m_rc == "\r" char_0x0D */
{
m_rc = cmdRS2Interpreter(m_rs2CmdBuf, m_rs2CmdLen);
m_rs2CmdLen = 0;
}
}
}
}
補充說明(Supplement):
m_rs2CmdLen++;
m_rs2CmdLen = m_rs2CmdLen & 255;
想改成這樣 應該沒有違背原作者意思吧