⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iommaster0.c

📁 IO MASTER程序 ARM9和51的IO门禁系统的测试程序 测试通讯过程
💻 C
📖 第 1 页 / 共 2 页
字号:
            printf("iommaster: Ending APAC_IOM_GetDinState...\n");            break;        case 7:     // APAC_IOM_SetDinMode            devId = 1;            printf("Enter device ID [%d]: ", devId);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &devId);            for (i = 0; i < 8; i++)            {                mode = 0;                printf("DIN %d:\n", i);                printf("Enter mode (0 = disable, 1 = Low to High, 2 = High to Low, 3 = Both) [%d]: ", mode);                memset(line, 0, sizeof(line));                fgets(line, sizeof(line), stdin);                sscanf(line, "%d", &mode);                APAC_IOM_UpdateDinMode(devId, i, mode);            }            printf("iommaster: devId: %d\n", devId);            for (i = 0; i < 8; i++)            {                APAC_IOM_GetDinMode(devId, i, &mode);                printf("iommaster: DIN %d: mode: %d\n", i, mode);            }            printf("iommaster: Starting APAC_IOM_SetDinMode...\n");            ret = APAC_IOM_SetDinMode(devId);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_SetDinMode failed with error 0x%x\n", ret);            printf("iommaster: Ending APAC_IOM_SetDinMode...\n");            break;        case 8:     // APAC_IOM_SetRlyState            devId = 1;            index = 0;            state = 1;            duration = 50;            printf("Enter device ID [%d]: ", devId);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &devId);            printf("Enter index [%d]: ", index);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &index);            printf("Enter state (0 = Off, 1 = On) [%d]: ", state);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &state);            printf("Enter duration [%d]: ", duration);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &duration);            printf("iommaster: devId: %d, index: %d, state: %d:, duration: %d\n",                devId, index, state, duration);            printf("iommaster: Starting APAC_IOM_SetRlyState...\n");            ret = APAC_IOM_SetRlyState(devId, index, state, duration);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_SetRlyState failed with error 0x%x\n", ret);            printf("iommaster: Ending APAC_IOM_SetRlyState...\n");            break;        case 9:     // APAC_IOM_SetDoutState            devId = 1;            index = 0;            state = 1;            printf("Enter device ID [%d]: ", devId);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &devId);            printf("Enter index [%d]: ", index);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &index);            printf("Enter state (0 = Low, 1 = High) [%d]: ", state);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &state);            printf("iommaster: devId: %d, index: %d, state: %d\n",                devId, index, state);            printf("iommaster: Starting APAC_IOM_SetDoutState...\n");            ret = APAC_IOM_SetDoutState(devId, index, state);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_SetDoutState failed with error 0x%x\n", ret);            printf("iommaster: Ending APAC_IOM_SetDoutState...\n");            break;        case 10:    // APAC_IOM_QueryEvents            devId = 1;                        printf("Enter device ID [%d]: ", devId);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &devId);            printf("iommaster: devId: %d\n", devId);            printf("iommaster: Starting APAC_IOM_QueryEvents...\n");            ret = APAC_IOM_QueryEvents(devId, &numEvents, &moreEvents, events, sizeof(events) / sizeof(events[0]));            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_QueryEvents failed with error 0x%x\n", ret);            else            {                printf("iommaster: numEvents: %d\n", numEvents);                printf("iommaster: moreEvents: %s\n", moreEvents ? "Yes" : "No");                for (i = 0; i < numEvents; i++)                {                    printf("iommaster: event %d: index: %d, eventType: %d, prevState: %d, currState: %d\n",                        i,                        events[i].index,                        events[i].eventType,                        events[i].prevState,                        events[i].currState);                }            }            printf("iommaster: Ending APAC_IOM_QueryEvents...\n");            break;        case 11:    // APAC_IOM_InitKey            devId = 1;            printf("Enter device ID [%d]: ", devId);            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            sscanf(line, "%d", &devId);            printf("Enter master key: ");            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            memset(masterKey, 0, sizeof(masterKey));            HexStringToByteArray(line, masterKey, sizeof(masterKey));                        memset(line, 0, sizeof(line));            printf("Enter slave key: ");            memset(line, 0, sizeof(line));            fgets(line, sizeof(line), stdin);            memset(slaveKey, 0, sizeof(slaveKey));            HexStringToByteArray(line, slaveKey, sizeof(slaveKey));                        printf("iommaster: devId: %d\n", devId);            printf("iommaster: masterKey: "); PrintBuffer(masterKey, sizeof(masterKey));            printf("iommaster: slaveKey : "); PrintBuffer(slaveKey, sizeof(slaveKey));            printf("iommaster: Starting APAC_IOM_InitKey...\n");            ret = APAC_IOM_InitKey(devId, masterKey, slaveKey);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_InitKey failed with error 0x%x\n", ret);            printf("iommaster: Ending APAC_IOM_InitKey...\n");            break;        default:            break;        }    }    ret = APAC_IOM_Terminate();    if (ret != APAC_IOM_NOERR)    {        printf("iommaster: APAC_IOM_Terminate failed with error 0x%x\n", ret);        return 1;    }        return 0;}int HexStringToByteArray(char *string, unsigned char *array, int arraySize){    int len = 0;    bool first = true;    int stringLen = strlen(string);    int i;    strupr(string);    for (i = 0; i < stringLen; i++)    {        if ((string[i] >= '0') && (string[i] <= '9'))        {            if (first)            {                array[len] = (string[i] - '0') << 4;                first = false;            }            else            {                array[len] |= (string[i] - '0');                first = true;                len++;            }        }        else if ((string[i] >= 'A') && (string[i] <= 'F'))        {            if (first)            {                array[len] = (string[i] - 'A' + 10) << 4;                first = false;            }            else            {                array[len] |= (string[i] - 'A' + 10);                first = true;                len++;            }        }        if (len >= arraySize)            break;    }    return len;}char *strupr(char *string){    while (*string != '\0')    {        *string = toupper(*string);        string++;    }        return string;}void PrintBuffer(unsigned char *buffer, int len){    int i;        for (i = 0; i < len; i++)        printf("%02x ", buffer[i]);    printf("\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -