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

📄 iommaster0.c

📁 IO MASTER程序 ARM9和51的IO门禁系统的测试程序 测试通讯过程
💻 C
📖 第 1 页 / 共 2 页
字号:
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <ctype.h>#include <unistd.h>#include "APAC_IOM.h"int HexStringToByteArray(char *string, unsigned char *array, int arraySize);char *strupr(char *string);void PrintBuffer(unsigned char *buffer, int len);int main(int argc, char *argv[]){    int ret;    bool detected;    char modelNum[10];    char serialNum[16];    unsigned short firmwareVersion;    int numSais, numDins, numRlys, numDouts;    int devId, index, state, duration;    int boundaries[3];    int mode;    int numEvents;    bool moreEvents;    APAC_IOM_Event events[64];    unsigned char masterKey[16];    unsigned char slaveKey[16];    char line[512];    int inputNum;    int i, j;    if (argc < 2)    {        printf("Usage: iommaster <baud rate>\n");        return 1;    }        ret = APAC_IOM_Init(atoi(argv[1]));    if (ret != APAC_IOM_NOERR)    {        printf("iommaster: APAC_IOM_Initialize failed with error 0x%x\n", ret);        return 1;    }    inputNum = -1;    while (inputNum != 0)    {        printf("APAC IOM Master Test Program\n\n");        printf(" 1. APAC_IOM_SetSessionKey\n");        printf(" 2. APAC_IOM_GetInfo\n");        printf(" 3. APAC_IOM_GetConfig\n");        printf(" 4. APAC_IOM_GetSaiState\n");        printf(" 5. APAC_IOM_SetSaiBoundaries\n");        printf(" 6. APAC_IOM_GetDinState\n");        printf(" 7. APAC_IOM_SetDinMode\n");        printf(" 8. APAC_IOM_SetRlyState\n");        printf(" 9. APAC_IOM_SetDoutState\n");        printf("10. APAC_IOM_QueryEvents\n");        printf("11. APAC_IOM_InitKey\n");        printf(" 0. Exit\n\n");        printf("Enter a number: ");        memset(line, 0, sizeof(line));        fgets(line, sizeof(line), stdin);        if (sscanf(line, "%d", &inputNum) != 1)            inputNum = -1;        switch (inputNum)        {        case 1:     // APAC_IOM_SetSessionKey            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_SetSessionKey...\n");            ret = APAC_IOM_SetSessionKey(devId);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_SetSessionKey failed with error 0x%x\n", ret);            else            {                detected = false;                APAC_IOM_IsDetected(devId, &detected);                printf("iommaster: detected: %s\n", detected ? "Yes" : "No");            }            printf("iommaster: Ending APAC_IOM_SetSessionKey...\n");            break;        case 2:     // APAC_IOM_GetInfo            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_GetInfo...\n");            ret = APAC_IOM_GetInfo(devId);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_GetInfo failed with error 0x%x\n", ret);            else            {                memset(modelNum, 0, sizeof(modelNum));                APAC_IOM_GetModelNum(devId, modelNum);                memset(serialNum, 0, sizeof(serialNum));                APAC_IOM_GetSerialNum(devId, serialNum);                firmwareVersion = 0;                APAC_IOM_GetFirmwareVersion(devId, &firmwareVersion);                printf("iommaster: Model Number    : %s\n", modelNum);                printf("iommaster: Serial Number   : %s\n", serialNum);                printf("iommaster: Firmware Version: 0x%04x\n", firmwareVersion);            }            printf("iommaster: Ending APAC_IOM_GetInfo...\n");            break;        case 3:     // APAC_IOM_GetConfig            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_GetConfig...\n");            ret = APAC_IOM_GetConfig(devId);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_GetConfig failed with error 0x%x\n", ret);            else            {                numSais = 0;                numDins = 0;                numRlys = 0;                numDouts = 0;                                APAC_IOM_GetNumSais(devId, &numSais);                APAC_IOM_GetNumDins(devId, &numDins);                APAC_IOM_GetNumRlys(devId, &numRlys);                APAC_IOM_GetNumDouts(devId, &numDouts);                printf("iommaster: Number of SAIs : %d\n", numSais);                printf("iommaster: Number of DINs : %d\n", numDins);                printf("iommaster: Number of RLYs : %d\n", numRlys);                printf("iommaster: Number of DOUTs: %d\n", numDouts);            }            printf("iommaster: Ending APAC_IOM_GetConfig...\n");            break;        case 4:     // APAC_IOM_GetSaiState            devId = 1;            index = 0;                        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("iommaster: devId: %d, index: %d\n", devId, index);            printf("iommaster: Starting APAC_IOM_GetSaiState...\n");            ret = APAC_IOM_GetSaiState(devId, index, &state);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_GetSaiState failed with error 0x%x\n", ret);            else                printf("iommaster: state: %d\n", state);            printf("iommaster: Ending APAC_IOM_GetSaiState...\n");            break;        case 5:     // APAC_IOM_SetSaiBoundaries            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++)            {                memset(boundaries, 0, sizeof(boundaries));                printf("SAI %d:\n", i);                for (j = 0; j < 3; j++)                {                    printf("Enter boundaries %d (0 = disable) [%d]: ", j, boundaries[j]);                    memset(line, 0, sizeof(line));                    fgets(line, sizeof(line), stdin);                    sscanf(line, "%d", &boundaries[j]);                    if (boundaries[j] == 0)                        break;                }                                APAC_IOM_UpdateSaiBoundaries(devId, i, boundaries);            }            printf("iommaster: devId: %d\n", devId);            for (i = 0; i < 8; i++)            {                APAC_IOM_GetSaiBoundaries(devId, i, boundaries);                printf("iommaster: SAI %d: ", i);                for (j = 0; j < 3; j++)                    printf("boundaries %d: %d ", j, boundaries[j]);                printf("\n");            }            printf("iommaster: Starting APAC_IOM_SetSaiBoundaries...\n");            ret = APAC_IOM_SetSaiBoundaries(devId);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_SetSaiBoundaries failed with error 0x%x\n", ret);            printf("iommaster: Ending APAC_IOM_SetSaiBoundaries...\n");            break;        case 6:     // APAC_IOM_GetDinState            devId = 1;            index = 0;            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("iommaster: devId: %d, index: %d\n", devId, index);            printf("iommaster: Starting APAC_IOM_GetDinState...\n");            ret = APAC_IOM_GetDinState(devId, index, &state);            if (ret != APAC_IOM_NOERR)                printf("iommaster: APAC_IOM_GetDinState failed with error 0x%x\n", ret);            else                printf("iommaster: state: %d\n", state);

⌨️ 快捷键说明

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