1

首先,我的 PIC 是 16f1625,我使用 MPLAB 8.86 对其进行编程。我的问题很简单,我在 PC 和 PIC 之间进行通信,PC 发送一个字节,PIC 读取这个字节,然后做一些事情。我的问题是我想像这样改进它,PC发送一个像“R”这样的字母,然后他发送我想要设置的数字。今天我只有 4 种可能,PC 发送 0、1、2 或 5,我根据这些设置分辨率。

switch(i)    {
    case 1:
        pulsesPerMm = 10;
        break;
    case 2:
        pulsesPerMm = 20;
        break;
    case 5:
        pulsesPerMm = 51;
        break;
    case 10:
        pulsesPerMm = 102;

        break;
}

我收到这样的命令:

while(!RCIF)    /* set when register is not empty */
    continue;
return RCREG;   

现在我想做这样的事情:我收到“R”,表示下一个单词将是分辨率,在这些之后,2个字节,这将是新的分辨率,我只需要将字符串转换为 int (使用 atoi) 然后我可以设置 pulsesPerMm。问题是我有其他只需要一个字母的命令,所以我不想更改这些。

4

1 回答 1

0

打开 rx 字符而不是数字,然后,仅在您的“R”案例块中,调用 getChar() 函数以返回接下来的两个字符和 atoi() 它们。

于 2013-02-05T19:35:50.953 回答