• 大小: 700KB
    文件类型: .tar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: C/C++
  • 标签: arm  串口  指纹模块  

资源简介

arm板上的C++程序 通过串口控制指纹模块

资源截图

代码片段和文件信息

/*
 *
 * */

#include “FCApp.h“


void *pthreadWorker(FCApp *handler){
    int re = handler->pthreadWorker_Fun();
    return ((void *)re);
}

TaskInfo::TaskInfo(TaskName inchar *Params[]const int len){
    m_task = in;
    m_valid = true;
    switch(m_task){
    case REG_START:
    case REG_SECOND:
    case REG_END:
        if(len != 3){
            m_valid = false;
            return;
        }
        m_Params[“index“]   = Params[0];
        m_Params[“userID“]  = Params[1];
        m_Params[“userMod“] = Params[2];
        break;
    case REG_DELETE:
    case VERIFY:
        if(len != 1){
            m_valid = false;
            return;
        }
        m_Params[“userID“]  = Params[0];
        break;
    case GET_USER_SUM:
    case REG_ALLDEL:
    case IDENTIFY:
        if(len != 0){
            m_valid = false;
            return;
        }
        break;
    default:
        m_valid = false;
        return;
    };

}


FCApp::FCApp(){
    m_loger = NULL;
    m_processer = NULL;
    worker_thread = 0;
    f_giveup = false;
    MainframeStr =
            “=============================\n“
            “1. 串口设置\n“
            “2. 读取用户总数\n“
            “3. 录入指纹\n“
            “4. 删除指定用户信息\n“
            “5. 删除所有用户信息\n“
            “6. 1:1对比\n“
            “7. 1:n对比\n“
            “quit. 退出\n“
            “=============================“;
    SetCommframeStr =
            “=============================\n“
            “--配置端口--\n“
            “请输入串口配置格式:\n“
            “端口:波特率\n“
            “return 返回上级\n“
            “当前配置为:“;
    addUserframeStr =
            “=============================\n“
            “--注册用户--\n“
            “请输入用户ID号和权限(1/2/3)格式如:\n“
            “用户号权限\n“
            “return 返回上级\n “
            “=============================“;

    delUserframeStr =
            “=============================\n“
            “--删除指定用户--\n“
            “请输入用户ID号\n“
            “return 返回上级 \n“
            “=============================“;

    VERIFYframeStr =
            “=============================\n“
            “--1:1比对--\n“
            “请输入用户ID号\n“
            “return 返回上级 \n“
            “=============================“;

}

FCApp::~FCApp(){
    if(m_processer)
        delete m_processer;
    if(m_loger)
        delete m_loger;
}

bool FCApp::initApp(){
    m_loger = new Loger();
    if(!m_loger){
        return false;
    }
    m_processer = new M61_Processer(m_loger this);
    if(!m_processer){
        m_loger->LogDebug(“create M61_Processer error“);
        return false;
    }

    int err = pthread_cond_init(&hasTask_cond NULL);
    if(err != 0){
        m_loger->LogDebug(“init hasTask_cond error“);
        return false;
    }
    err = pthread_mutex_init(&isDoingTask_mutex NULL);
    if(err != 0){
        m_loger->LogDebug(“init isDoingTask_mutex error“);
        return false;
    }
    err = pthread_mutex_init(&f_giveup_mutex NULL);
    if(err != 0){
        m_loger->LogDebug(“init f_giveup_mutex error“);
        return fals

评论

共有 条评论