C# 讀取RFID?

目前有1-10號的標籤!

現在我要放在RFID上讀取~!

要求:如果我取出1-3號標籤~就出現錯誤訊息出來讓我知道~!其他標籤則沒事情發生繼續讀取~!

要用C語言寫出來~!

我想了老半天~!就是想不出來~!該用什麼函數來判別他是否沒讀取到標籤然後出現錯誤訊息~!

能麻煩跟我解說要用"哪個函數"比較恰當和"寫出程式"~!

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    int read_str(int fd, int sec_n)

    {

    //請參考linux程式設計手冊 P15-30 ~ P15-31

    int result,nread;

    struct timeval timeout;//select timeout資料結構

    fd_set inputs;//select 的設定變數

    FD_ZERO(&inputs);//將初始FD_SET設為空集合

    FD_SET(fd,&inputs);//設定RS-232檔案描述子給select的變數位址

    timeout.tv_sec=sec_n;

    timeout.tv_usec=50000;//Wait time set 0.05 sec

    result = select(FD_SETSIZE, &inputs, (fd_set *)0, (fd_set *)0, &timeout);

    if (result == 0) return -1;

    nread=read(fd,str_buf,sizeof(str_buf));

    str_buf[nread]=0;

    return nread;

    }

    利用此select讓讀取裝置時可以設定timeout

Still have questions? Get your answers by asking now.