|
10黑幣
用串口通信,串口程序沒(méi)有問(wèn)題,用串口助手測(cè)試能夠收發(fā),指紋模塊與上位機(jī)測(cè)試也能夠錄指紋,但是連接單片機(jī)之后就收不到數(shù)據(jù)
代碼下載:
STM32程序.rar
(298.98 KB, 下載次數(shù): 34)
2017-5-24 21:30 上傳
點(diǎn)擊文件名下載附件
- #include "sys.h"
- #include "usart.h"
- #include "delay.h"
- #include "key.h"
- #include "lcd1602.h"
- #include "fpmxx.h"
- unsigned char LCD_ID_11[16] = {" Huan Ying "};
- unsigned char LCD_ID_22[16] = {" Shi Bai "};
- unsigned char LCD_ID_33[16] = {" Qing Shi Yong "};
- void FPMXX_Check_Module()
- {
- unsigned int i=0;
- FPMXX_Cmd_Check();
- for(i=0;i<12;i++)
- {
- FPMXX_RECEICE_BUFFER[i] = UART_Receive_Byte();//UART Receive a byteg
- }
- if(FPMXX_RECEICE_BUFFER[8]==0x03)
- {
- for(i=0;i<556;i++)
- {
- switch(i)
- {
- case 37:FPMXX_RECEICE_BUFFER[1] = UART_Receive_Byte();break;
- case 38:FPMXX_RECEICE_BUFFER[2] = UART_Receive_Byte();break;
- case 39:FPMXX_RECEICE_BUFFER[3] = UART_Receive_Byte();break;
- case 40:FPMXX_RECEICE_BUFFER[4] = UART_Receive_Byte();break;
- case 41:FPMXX_RECEICE_BUFFER[5] = UART_Receive_Byte();break;
- default:FPMXX_RECEICE_BUFFER[0] = UART_Receive_Byte();
- }
- }
-
- //判斷指紋模塊型號(hào)
- if(FPMXX_RECEICE_BUFFER[1] == 0x46 && +
- FPMXX_RECEICE_BUFFER[2] == 0x50 && +
- FPMXX_RECEICE_BUFFER[3] == 0x4D && +
- FPMXX_RECEICE_BUFFER[4] == 0x31 && +
- FPMXX_RECEICE_BUFFER[5] == 0x30)
- {
- L1602_string(1,1,LCD_ID_11);
- while(1)
- {
- if(KEY0 == 0)
- {
- delay_ms(10);
- while(KEY0 == 0);
- delay_ms(100);
- break;
- }
- delay_ms(100);
- }
- }
- }
- }
-
- int main(void)
- {
- Stm32_Clock_Init(9);//系統(tǒng)時(shí)鐘設(shè)置
- delay_init(72); //延時(shí)初始化
- uart_init(72,57600); //串口1初始化
-
- KEY_Init();
- L1602_init();
- L1602_string(1,1,LCD_ID_11);
- delay_ms(20000);
- USART1->DR=0X00;
- while((USART1->SR&0X40)==0);//等待發(fā)送結(jié)束
- delay_ms(20);
- L1602_string(1,1,LCD_ID_22);
- FPMXX_Check_Module();
- while(1)
- {
- L1602_string(1,1,LCD_ID_11);
- L1602_string(2,1,LCD_ID_33);
- //添加指紋
- if(KEY0 == 0)
- {
- delay_ms(10);
- while(KEY0==0); //等待松開(kāi)按鍵
- delay_ms(100);
- FPMXX_Add_Fingerprint();
- }
- //添加指紋
-
- //搜索指紋
- if(KEY1 == 0)
- {
- delay_ms(10);
- while(KEY1==0); //等待松開(kāi)按鍵
- delay_ms(100);
- FPMXX_Find_Fingerprint();
- }
- //搜索指紋
- //清空指紋
- if(KEY2 == 0)
- {
- delay_ms(10);
- while(KEY2==0); //等待松開(kāi)按鍵
- delay_ms(100);
- FPMXX_Delete_All_Fingerprint();
- }
- //清空指紋
- }
- }
復(fù)制代碼
|
|