[問題] 看不懂程式碼
開發平台(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;
想改成這樣 應該沒有違背原作者意思吧
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.16.127
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1494251880.A.868.html
※ 編輯: XtendaceD (36.236.16.127), 05/08/2017 22:02:52
※ 編輯: XtendaceD (36.236.16.127), 05/08/2017 22:03:42
推
05/08 22:39, , 1F
05/08 22:39, 1F
推
05/08 22:41, , 2F
05/08 22:41, 2F
推
05/08 23:37, , 3F
05/08 23:37, 3F
→
05/09 00:21, , 4F
05/09 00:21, 4F
→
05/09 01:30, , 5F
05/09 01:30, 5F
推
05/09 07:52, , 6F
05/09 07:52, 6F
推
05/11 05:14, , 7F
05/11 05:14, 7F
→
05/11 05:15, , 8F
05/11 05:15, 8F