下面這段代碼的ID顯示不出來
typedef struct
{
uint pageID;//指紋ID
uint mathscore;//匹配得分
}SearchResult;
//高速搜索PS_HighSpeedSearch
//功能:以 CharBuffer1或CharBuffer2中的特征文件高速搜索整個或部分指紋庫。
// 若搜索到,則返回頁碼,該指令對于的確存在于指紋庫中 ,且登錄時質量
// 很好的指紋,會很快給出搜索結果。
//參數: BufferID, StartPage(起始頁),PageNum(頁數)
//說明: 模塊返回確認字+頁碼(相配指紋模板)
uchar PS_HighSpeedSearch(uchar BufferID,uint StartPage,uint PageNum,SearchResult *p)
{
uint temp;
uint ensure;
uchar *rdata;
SendHead();
SendAddr();
SendFlag(0x01);//命令包標識
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參數
//刷指紋
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);//指紋驗證成功
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上面沒有任何顯示,是哪里錯了嗎?
Delay_Ms(3000);
}
}
else
{};
}
}
OLED_Clear();
Start_Menu();
}
|