使用XC8编译器使用MPLAB以C语言编写PIC 16代码.
我正在try 从字符串中捕获一些波特率设置,例如"115200,8,N,1". 出于我的应用程序的目的,我 Select 使用枚举来表示宇称(N、O、E变成0,1,2).
我有以下代码:
#include <stdint.h>
int main(void)
{
uint32_t baudrate;
uint8_t databits, parity, stopbits;
char *input = "115200,8,0,1";
sscanf(input, "%lu,%u,%u,%u", &baudrate, &databits, &parity, &stopbits);
printf("%lu - %u - %u - %u\n", baudrate, databits, parity, stopbits);
return 0;
}
我预计会有以下输出:
>> 115200 - 8 - 0 - 1
然而,我得到了:
>> 115200 - 0 - 0 - 1
我做错了什么,因为第二个捕获总是返回0.我假设我使用了错误的标识符,但应该使用哪些标识符?