日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

大四课程设计之基于RFID技术的考勤管理系统(二)读取COM口数据

發布時間:2025/3/15 windows 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大四课程设计之基于RFID技术的考勤管理系统(二)读取COM口数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

----------------------------------------------------------------------------------------

源碼下載地址:

http://download.csdn.net/download/qq78442761/9971770

----------------------------------------------------------------------------------------


一開始寫了一個控制臺的,如下圖所示:


核心代碼如下:

#ifdef _msc_ver #pragma comment( linker, "/subsystem:\"windows\" /entry:\"maincrtstartup\"" ) #endif#define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <windows.h> #include "Serial.h"char dataRecv[512] = { '\0' }; AfSerial com3; char IDChar[128] = { '/0' }; char DataChar[128] = { '/0' };void SaveData() //保存文件 {FILE *fp = fopen("RFID_R", "w");for (int i = 0; i < strlen(IDChar); i++){ fprintf(fp, "%c", IDChar[i]);}fprintf(fp, "\n");for (int i = 0; i < strlen(DataChar); i++){fprintf(fp, "%c", DataChar[i]);}fclose(fp); }void SaveData2() //保存文件 {//FILE *fp = fopen("./Data/RFID_R", "w");//for (int i = 0; i < strlen(IDChar); i++)//{// fprintf(fp, "%c", IDChar[i]);//}//fclose(fp);char temp4[5];int j = 0;for (int i = strlen(IDChar)-1; j<4; i--,j++){temp4[3-j] = IDChar[i]; //最后一位和最后一位對應}temp4[4] = '\0';printf_s("\n%s", temp4);FILE *fp = fopen("./Data/RFID_R", "w");for (int i = 0; i < strlen(temp4); i++){fprintf(fp, "%c", temp4[i]);}fclose(fp);}void GetData()//得到數據 {int k = 0; //冒號數量int j = 0;for (int i = 120; i <= strlen(dataRecv); i++){if (dataRecv[i] == ':')k++;if (k == 2){DataChar[j] = dataRecv[i];printf_s("%c", dataRecv[i]);j++;}} } void GetID()//得到ID {int k = 0;//得到第一個冒號后的數字:for (int i = 0; i <= strlen(dataRecv); i++){if (dataRecv[i] == ':'){for (int j = i; j < strlen(dataRecv) && j < 120; j++) //提取ID{if (dataRecv[j] >= 48 && dataRecv[j] <= 57){IDChar[k] = dataRecv[j];printf_s("%c", dataRecv[j]);k++;}}}} }int main() {com3.Open("COM3", 9600, 'N', 8, 1);while (1){if (com3.Recv(dataRecv, 512) != -1){printf_s("%s\n", dataRecv);GetID();GetData();printf_s("\n%s", IDChar);//printf_s("\n%s", DataChar);//SaveData();system("pause");SaveData2();return 0;}}return 0; }


隨和做成了一個WIn32項目,就一個消息框,流程圖如下所示:


如下所示:

注意:這里只有關鍵代碼,本程序源碼在文章開頭有提供下載:

#define _CRT_SECURE_NO_WARNINGS #include <Windows.h> #include <stdio.h> #include <windows.h> #include "Serial.h"char dataRecv[4096] = { '/0' }; AfSerial com3; char IDChar[128] = { '/0' }; char DataChar[128] = { '/0' };void SaveData() //保存文件 {FILE *fp = fopen("RFID_R", "w");for (int i = 0; i < strlen(IDChar); i++){fprintf(fp, "%c", IDChar[i]);}fprintf(fp, "\n");for (int i = 0; i < strlen(DataChar); i++){fprintf(fp, "%c", DataChar[i]);}fclose(fp); }void SaveData2() //保存文件 {//FILE *fp = fopen("./Data/RFID_R", "w");//for (int i = 0; i < strlen(IDChar); i++)//{// fprintf(fp, "%c", IDChar[i]);//}//fclose(fp);char temp4[5];int j = 0;for (int i = strlen(IDChar) - 1; j < 4; i--, j++){temp4[3 - j] = IDChar[i]; //最后一位和最后一位對應}temp4[4] = '\0';printf_s("\n%s", temp4);FILE *fp = fopen("./Data/RFID_R", "w");for (int i = 0; i < strlen(temp4); i++){fprintf(fp, "%c", temp4[i]);}fclose(fp);}void GetData()//得到數據 {int k = 0; //冒號數量int j = 0;for (int i = 120; i <= strlen(dataRecv); i++){if (dataRecv[i] == ':')k++;if (k == 2){DataChar[j] = dataRecv[i];printf_s("%c", dataRecv[i]);j++;}} } void GetID()//得到ID {int k = 0;//得到第一個冒號后的數字:for (int i = 0; i <= strlen(dataRecv); i++){if (dataRecv[i] == ':'){for (int j = i; j < strlen(dataRecv) && j < 120; j++) //提取ID{if (dataRecv[j] >= 48 && dataRecv[j] <= 57){IDChar[k] = dataRecv[j];printf_s("%c", dataRecv[j]);k++;}}}} }int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {if (com3.Open("COM4", 9600, 'N', 8, 1) == 0){while (1){if (com3.Recv(dataRecv, 4096) != -1){printf_s("%s\n", dataRecv);GetID();GetData();printf_s("\n%s", IDChar);//printf_s("\n%s", DataChar);//SaveData();SaveData2();com3.Close();MessageBox(NULL, TEXT("卡讀取中"), TEXT("com4"), MB_OK);break;}}}return 0; }
他會把讀取到的數據存儲在Data文件夾里面,如下圖所示:



這里,只把卡號的后六位提取了出來,并沒有對卡數據進行寫入!



上一篇博文:

大四課程設計之基于RFID技術的考勤管理系統(一)項目介紹

http://blog.csdn.net/qq78442761/article/details/77916313


下一篇博文:

大四課程設計之基于RFID技術的考勤管理系統(三)數據庫設計

http://blog.csdn.net/qq78442761/article/details/77951377

總結

以上是生活随笔為你收集整理的大四课程设计之基于RFID技术的考勤管理系统(二)读取COM口数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品中文字幕在线播放 | 成人小视频在线看 | 亚洲欧美天堂 | 男同av在线观看一区二区三区 | 欧美三级视频在线 | av网在线观看 | 色老大网站 | 国产精品女人久久久 | 国产淫片 | 亚洲一二区视频 | 亚洲av无码一区二区乱子伦 | 国产精品国产三级国产专区53 | 无码一区二区三区在线观看 | 亚洲天堂成人av | 91视频亚洲| 精品国产一区一区二区三亚瑟 | 欧美久久久久久久久 | 中文在线亚洲 | 国产男男一区二区三区 | 在线视频二区 | 国产91丝袜在线播放九色 | 蜜桃av一区 | 在线能看的av | 日韩一级黄色录像 | 国产美女毛片 | 可以在线观看的av网站 | 嫩草嫩草嫩草嫩草嫩草嫩草 | 无码粉嫩虎白一线天在线观看 | 日韩欧美大片 | 精品国产午夜福利在线观看 | 无码人妻精品一区二区三应用大全 | 美女在线不卡 | 亚洲综合婷婷久久 | 国产精品久久久久久久久久久久久久久久久久 | 精品成人 | 欧美一区成人 | 亚洲是色 | 国产又粗又猛又爽69xx | 午夜成人免费影院 | 国产精品久久AV无码 | 在线免费观看av片 | 天堂网8| 日韩在线视频免费观看 | 国产一级二级三级在线观看 | 欧美一级日韩一级 | 久久久久久久黄色片 | 网站免费黄色 | 亚洲天堂中文字幕在线 | 日韩精品视频三区 | 国产精品传媒视频 | 久久久久无码精品 | 强伦人妻一区二区三区视频18 | 亚洲国产黄色 | 一级做a免费 | 秋霞福利网 | 91插插插视频 | 一区二区三区四区国产 | 成人性生交免费看 | 青青草成人免费视频 | 日韩成人午夜电影 | 国产美女免费 | 国产区91| 日批视频| 欧美成人精品一区二区三区在线观看 | 综合色婷婷 | 亚洲天堂欧美在线 | 91片黄在线观 | 色偷偷中文字幕 | 亚洲欧美在线视频免费 | 亚洲专区一区二区三区 | 亚洲av永久无码精品一百度影院 | 啪啪.com| 国产女人18水真多18精品一级做 | 午夜精品久久久久久久99热浪潮 | 欧美aⅴ在线观看 | 天天艹夜夜| 99插插 | 国产精品av免费观看 | 淫辱的世界(调教sm)by | 极品少妇一区 | 国产小视频一区 | 夜夜操影院 | 亚洲欧美a | 国产又色又爽又高潮免费 | 亚洲男女网站 | 欧美极品少妇xxxxⅹ免费视频 | 天堂av2014 | 成人玩具h视频 | 日本女优在线看 | 日日夜夜免费精品视频 | 久久久三级 | 乱妇乱女熟妇熟女网站 | 亚洲国产网站 | 国产吃瓜黑料一区二区 | 亚洲国产日韩欧美 | 男生和女生差差视频 | 曰韩毛片 | 久久99精品国产麻豆婷婷洗澡 | 久久狠狠高潮亚洲精品 |