|
下面這段代碼的ID顯示不出來(lái)
typedef struct
{
uint pageID;//指紋ID
uint mathscore;//匹配得分
}SearchResult;
//高速搜索PS_HighSpeedSearch
//功能:以 CharBuffer1或CharBuffer2中的特征文件高速搜索整個(gè)或部分指紋庫(kù)。
// 若搜索到,則返回頁(yè)碼,該指令對(duì)于的確存在于指紋庫(kù)中 ,且登錄時(shí)質(zhì)量
// 很好的指紋,會(huì)很快給出搜索結(jié)果。
//參數(shù): BufferID, StartPage(起始頁(yè)),PageNum(頁(yè)數(shù))
//說(shuō)明: 模塊返回確認(rèn)字+頁(yè)碼(相配指紋模板)
uchar PS_HighSpeedSearch(uchar BufferID,uint StartPage,uint PageNum,SearchResult *p)
{
uint temp;
uint ensure;
uchar *rdata;
SendHead();
SendAddr();
SendFlag(0x01);//命令包標(biāo)識(shí)
SendLength(0x08);
Sendcmd(0x1b);
UART2_SendData(BufferID);
UART2_SendData(StartPage>>8);
UART2_SendData(StartPage);
UART2_SendData(PageNum>>8);
UART2_SendData(PageNum);
temp = 0x01+0x08+0x1b+BufferID
+(StartPage>>8)+(uchar)StartPage
+(PageNum>>8)+(uchar)PageNum;
SendCheck(temp);
rdata=JudgeStr(2000);
if(rdata)
{
ensure=rdata[9];
p->pageID = (uint)(rdata[10]<<8) +rdata[11];
p->mathscore= (uint)(rdata[12]<<8) +rdata[13];
}
else
ensure=0xff;
return ensure;
}
SysPara AS608Para;//指紋模塊AS608參數(shù)
//刷指紋
void press_FR(void)
{
SearchResult seach;
uchar ensure;
// char str[20];
while(key_num!=1)
{
key_num=KEY_Scan(0);
ensure=PS_GetImage();
if(ensure==0x00)//獲取圖像成功
{
ensure=PS_GenChar(CharBuffer1);
if(ensure==0x00) //生成特征成功
{
ensure=PS_HighSpeedSearch(CharBuffer1,0,99,&seach);
if(ensure==0x00)//搜索成功
{
OLED_ShowString(0,2," ",16);
OLED_ShowCHinese(16,2,0);//指紋驗(yàn)證成功
OLED_ShowCHinese(32,2,1);
OLED_ShowCHinese(48,2,13);
OLED_ShowCHinese(64,2,14);
OLED_ShowCHinese(80,2,26);
OLED_ShowCHinese(96,2,27);
OLED_ShowString(112,2," ",16);
OLED_ShowString(0,4,"Your ID is",16);
OLED_ShowString(88,4,(u8*)seach.pageID+0x30,16); 這里的ID這樣寫在OLED12864上面沒有任何顯示,是哪里錯(cuò)了嗎?
Delay_Ms(3000);
}
}
else
{};
}
}
OLED_Clear();
Start_Menu();
}
|
|