在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CW32的AS608指紋模塊的應(yīng)用

jf_qE49KoVBr8 ? 來(lái)源:CW32生態(tài)社區(qū) ? 2023-08-28 11:30 ? 次閱讀

一、簡(jiǎn)介

AS608是一款集成了指紋圖像采集和指紋比對(duì)算法的指紋識(shí)別模塊。它采用了高質(zhì)量的光學(xué)傳感器,能夠?qū)崟r(shí)采集人體指紋圖像,并通過(guò)指紋比對(duì)算法進(jìn)行指紋識(shí)別。AS608具有高精度、快速、可靠的特點(diǎn),廣泛應(yīng)用于各種指紋識(shí)別場(chǎng)景,如門(mén)禁系統(tǒng)、安防系統(tǒng)、考勤系統(tǒng)等。

本實(shí)驗(yàn)用到了CW32-48F大學(xué)計(jì)劃板、0.96寸OLED顯示屏模塊、AS608指紋模塊及Keil5開(kāi)發(fā)環(huán)境。

二、AS608指紋模塊使用說(shuō)明

(1)引腳說(shuō)明(該模塊共8個(gè)引腳,只使用前6個(gè)引腳)

da28dd24-4552-11ee-a2ef-92fbcf53809c.png

(2)通訊方法

通過(guò)給AS608串口發(fā)送特定的指令調(diào)用模塊內(nèi)置的算法進(jìn)行相應(yīng)的操作。

常用的指令有:

da47356c-4552-11ee-a2ef-92fbcf53809c.png

da6b01c2-4552-11ee-a2ef-92fbcf53809c.png

指令格式有三種:命令包格式、數(shù)據(jù)包格式結(jié)束包格式。

da9979f8-4552-11ee-a2ef-92fbcf53809c.png?

以命令包格式為例,包頭是2個(gè)字節(jié)的數(shù)據(jù),固定為0xEF01;芯片地址4個(gè)字節(jié),默認(rèn)是0xFFFFFFFF;包識(shí)別用來(lái)區(qū)分指令類型,如命令包固定為0x01,數(shù)據(jù)包格式固定為0x02;包長(zhǎng)度指這一條指令有多少個(gè)重要的數(shù)據(jù),包長(zhǎng)度=包長(zhǎng)度至校驗(yàn)和(指令、參數(shù)或數(shù)據(jù))的總字節(jié)數(shù),包含校驗(yàn)和,但不包含包長(zhǎng)度本身的字節(jié)數(shù);指令就是需要AS608執(zhí)行的操作,參數(shù)和具體的指令有關(guān),不同的指令,參數(shù)的長(zhǎng)度和數(shù)值都有所不同;校驗(yàn)和是為了確保串口通訊正確。

模塊接收到命令后會(huì)產(chǎn)生應(yīng)答,將有關(guān)命令執(zhí)行情況與結(jié)果上報(bào)給上位機(jī),上位機(jī)只有在收到模塊的應(yīng)答包后才能確認(rèn)模塊收包情況與指令執(zhí)行情況。模塊應(yīng)答包中包含一個(gè)參數(shù):確認(rèn)碼。確認(rèn)碼表示執(zhí)行指令完畢的情況。

dac88f72-4552-11ee-a2ef-92fbcf53809c.png

確認(rèn)碼定義:

00H:表示指令執(zhí)行完畢或 OK;

01H:表示數(shù)據(jù)包接收錯(cuò)誤;

02H:表示傳感器上沒(méi)有手指;

03H:表示錄入指紋圖像失敗;

...

(3)指紋錄入實(shí)現(xiàn)流程

錄入指紋圖像

當(dāng)手指放在光學(xué)指紋窗口時(shí),模塊自動(dòng)拍下指紋圖像。

生成特征

記錄圖像中的指紋特征,并將該特征存入緩存區(qū)。

再次錄入圖像

當(dāng)手指放在光學(xué)指紋窗口時(shí),再次拍下指紋圖像。

再次生成特征

記錄二次圖像中的指紋特征,并將該特征存入另一緩存區(qū)。

精確比對(duì)兩枚指紋特征

對(duì)錄入的兩個(gè)指紋特征進(jìn)行比對(duì)。

合并特征(生成模板)

比對(duì)成功無(wú)誤后,將兩個(gè)特征合并成一個(gè)指紋模板。

儲(chǔ)存模板

將生成的模板存儲(chǔ)到到AS608內(nèi)部Flash,存儲(chǔ)時(shí)需指定存儲(chǔ)地址,即指紋ID。

上面以指紋錄入功能為例,簡(jiǎn)要介紹了功能實(shí)現(xiàn)的基本流程,更多詳情請(qǐng)參考AS60x指紋識(shí)別SOC用戶手冊(cè)和ATK-AS608指紋識(shí)別模塊用戶手冊(cè)。

三、核心代碼

main.c:
#include  "main.h"
#include  "Uart.h"
#include  "LED.h"
#include  "AS608.h"
#include  "OLED.h"
#include  "Delay.h"
#include  "BTIM.h"
#include  "Key.h"


uint8_t flag_add=0;          //指紋錄制標(biāo)識(shí)位
uint8_t flag_passport=0;     //密碼輸入標(biāo)識(shí)位
uint8_t flag_key_function=0; //按鍵功能標(biāo)識(shí)位
const uint16_t passpot=123;  //管理員密碼


/*-----------------------刷指紋-----------------------*/
void AS608_MatchFingerPrints(void)
{
  if(Is_Press==1)       //有手指按下
  {
    SearchResult seach;
    uint8_t result;
    result=PS_GetImage();
    if(result==0x00)//獲取圖像成功 
    {  
      result=PS_GenChar(CharBuffer1);
      OLED_Clear();
      if(result==0x00) //生成特征成功
      {  
        result=PS_HighSpeedSearch(CharBuffer1,0,6,&seach);  //自定義檢索ID為0~6的指紋庫(kù),最大范圍為0~300
        if(result==0x00)//搜索成功
        {      
          OLED_ShowString(2,1,"      ID=      ");  //指紋識(shí)別成功后自定義顯示內(nèi)容
          OLED_ShowNum(2,10,seach.pageID,1);
          OLED_ShowString(3,1,"    Welcome!    ");
          /*
                    指紋識(shí)別成功后的自定義功能
                                                  */
        }
        else 
        {
          OLED_ShowString(1,1,"    Refuse!    ");  //指紋識(shí)別失敗,遭到系統(tǒng)拒絕
        }        
      }
      else
      {
        OLED_ShowString(1,1,"    Error!     ");  //指紋識(shí)別過(guò)程出現(xiàn)錯(cuò)誤,3秒后重啟識(shí)別功能可再次識(shí)別
        OLED_ShowString(2,1,"      3       ");
        Delay_s(1);
        OLED_ShowString(2,1,"      2       ");
        Delay_s(1);
        OLED_ShowString(2,1,"      1       ");
      }
      Delay_s(1);
    }
    Display_Meum(); 
    flag_passport=0;
  }  
}


/*-----------------------錄指紋-----------------------*/
void AS608_AddFingerPrints(void)
{
  uint8_t result,steps=0;
  flag_add=1;
  OLED_Clear();
  OLED_ShowString(1,1,"AddFingerPrints");
  while(1)  //在指紋錄制環(huán)節(jié)中循環(huán)
  {
    switch (steps)
    {
      case 0:          //錄制環(huán)節(jié)0
        flag_key_function=1;
        OLED_ShowString(2,1,"Choose ID:");  //指紋ID選擇界面
        OLED_ShowNum(2,11,Finger_ID,1);
        OLED_ShowString(3,1,"               ");
        OLED_ShowString(4,1,"back");
        OLED_ShowString(4,8,"+");
        OLED_ShowString(4,13,"ok");
        switch(Key_Scan())
        {
          case 1:         //退出指紋錄制,返回主界面,
            Display_Meum();
            return ;
          case 2:      //選擇錄入的指紋對(duì)應(yīng)的ID
            if(Finger_ID!=6)  Finger_ID++;
            else              Finger_ID=1;
            break;
          case 3:              //進(jìn)入下一個(gè)環(huán)節(jié)
            steps=1;
            break;
        }
      break;
      
      case 1:          //錄制環(huán)節(jié)1
        if(Key_Scan()!=0){Display_Meum();return ;};  //按任意鍵退出
        OLED_ShowString(2,1,"               ");
        OLED_ShowString(3,1,"Please press...");     //操作提示
        OLED_ShowString(4,1,"               ");
        result=PS_GetImage();        //首次獲取指紋圖像
        if(result==0x00) 
        {
          result=PS_GenChar(CharBuffer1);//生成特征1
          if(result==0x00)
          {
            OLED_ShowString(3,1," OK! Get it... ");
            Delay_s(1);
            OLED_ShowString(2,1,"               ");
            steps=2;        //進(jìn)入下一個(gè)環(huán)節(jié)            
          }        
        }        
      break;
      
      case 2:          //錄制環(huán)節(jié)2
        if(Key_Scan()!=0){Display_Meum();return ;};  //按任意鍵退出
        OLED_ShowString(3,1,"Press Again...");      //操作提示
        result=PS_GetImage();         //再次獲取指紋圖像
        if(result==0x00) 
        {
          result=PS_GenChar(CharBuffer2);//生成特征2
          if(result==0x00)
          {
            OLED_ShowString(3,1," OK! Get it... ");
            Delay_s(1);
            steps=3;        //進(jìn)入下一個(gè)環(huán)節(jié)  
          }    
        }    
        break;


      case 3:          //錄制環(huán)節(jié)3
        result=PS_Match();    //特征1與特征2進(jìn)行匹配
        if(result==0x00)      //匹配成功
        {
          steps=4;          //進(jìn)入下一個(gè)環(huán)節(jié)
          OLED_ShowString(3,1,"  Matching...  ");
        }
        else                  //匹配失敗
        {
          OLED_ShowString(2,1,"     Fail!     ");
          OLED_ShowString(3,1,"       3       ");
          Delay_s(1);
          OLED_ShowString(3,1,"       2       ");
          Delay_s(1);
          OLED_ShowString(3,1,"       1       ");
          steps=0;          //回到錄制環(huán)節(jié)0  
        }
        Delay_s(1);
        break;


      case 4:          //錄制環(huán)節(jié)4
        result=PS_RegModel();  //合并特征,生成指紋模板
        if(result==0x00)   
        {
          steps=5;          //進(jìn)入下一個(gè)環(huán)節(jié)
          OLED_ShowString(3,1,"      OK!      ");
        }
        else               
        {
          OLED_ShowString(2,1,"     Fail!     ");
          OLED_ShowString(3,1,"       3       ");
          Delay_s(1);
          OLED_ShowString(3,1,"       2       ");
          Delay_s(1);
          OLED_ShowString(3,1,"       1       ");
          steps=0;
        }
        Delay_s(1);
        break;
        
      case 5:  
        result=PS_StoreChar(CharBuffer2,Finger_ID);   //儲(chǔ)存指紋
        if(result==0x00) 
        {          
          flag_key_function=0;
          OLED_ShowString(3,1,"AddSuccessfully");
          Delay_s(1);
          Display_Meum();        //回到主頁(yè)面
          return ;
        }          
        break;        
    }    
  }
}


/*-----------------------主頁(yè)面-----------------------*/
void Display_Meum()   
{
  OLED_Clear();
  flag_add = 0;
  flag_key_function = 0;
  if(PS_ValidTempleteNum(&validFinger_num)==0xff)  //讀取指紋模塊當(dāng)下信息參數(shù)
    OLED_ShowString(2,1,"  ERROR!!!  ");     //提示讀取失敗,原因可能是線沒(méi)接好或者模塊損壞
  else 
  {
    OLED_ShowString(1,1,"----Welcome----");  
    OLED_ShowString(2,1,"ValidNum:");
    OLED_ShowNum(2,10,validFinger_num,1);
    OLED_ShowString(4,1,"add   delet   ");
    if(delet_num==0) OLED_ShowString(4,15,"+");
    else OLED_ShowNum(4,15,delet_num,1);
  }
}


/*-----------------------密碼輸入-----------------------*/
void PassportInput()    
{
  static uint8_t i=0;
  flag_key_function=1;
  OLED_ShowString(1,1,"No access!");      //密碼輸入提示 
  OLED_ShowString(2,1,"Input Passport:");
  OLED_ShowNum(3,6,passport_num1,1);
  OLED_ShowNum(3,8,passport_num2,1);
  OLED_ShowNum(3,10,passport_num3,1);
  OLED_ShowString(4,1,"+");
  if(i==0)  OLED_ShowString(4,6,"^");
  OLED_ShowString(4,12,"back");
  switch(Key_Scan())
  {
    case 1://加
      if(i==0) {passport_num1++;if(passport_num1==10) passport_num1=0;}
      if(i==1) {passport_num2++;if(passport_num2==10) passport_num2=0;}
      if(i==2) {passport_num3++;if(passport_num3==10) passport_num3=0;}
      if((passport_num1*100+passport_num2*10+passport_num3)==passpot)
      {
        OLED_ShowNum(3,10,passport_num3,1);
        Delay_ms(500);
        OLED_Clear();
        OLED_ShowString(2,1,"    Access!    ");
        access=1;       //打開(kāi)指紋錄制/刪除權(quán)限
        PA07_SETLOW();  //LED全部點(diǎn)亮,指示權(quán)限全開(kāi)
        PA08_SETLOW();
        PC13_SETLOW();
        Delay_s(2);
        Display_Meum();
        flag_passport=0;  
        passport_num1=0;
        passport_num2=0;
        passport_num3=0;
        i=0;
      }
      break;
    case 2://  切換數(shù)字
      if(++i==3) i=0;
      if(i==1)      OLED_ShowString(4,6,"  ^  "); 
      else if(i==2) OLED_ShowString(4,6,"    ^"); 
      else if(i==0) OLED_ShowString(4,6,"^    "); 
      break;
    case 3://退出
      passport_num1=0;
      passport_num2=0;
      passport_num3=0;
      Display_Meum();
      flag_passport=0;
      i=0;
      break ;  
  }
}


/*------------------指紋錄制/刪除權(quán)限管理-------------------*/
void Permission_Management(void)
{
  if(Key_Scan()==20)   //若返回鍵值為20,則打開(kāi)密碼輸入標(biāo)識(shí)
  {
    OLED_Clear();
    flag_passport=1; 
  }
  if(flag_passport==1)//若密碼標(biāo)識(shí)打開(kāi),則進(jìn)入密碼輸入界面
    PassportInput();
}


/*--------------------------主函數(shù)--------------------------*/
int main()
{
  LED_Init();             //3個(gè)LED指示燈
  OLED_Init();           //OLED屏幕顯示
  BTIM_Init();           //啟動(dòng)定時(shí)器配合應(yīng)答包接收
  UART2_Init();        //與AS608進(jìn)行串口通信,波特率為57600
  Key_GPIO_Init();       //三個(gè)按鍵
  AS608_WAK_GPIO_Init(); //WAK引腳,感應(yīng)手指按下
  Display_Meum();        //屏幕主界面
  while(1)
  {  
    AS608_MatchFingerPrints();  //指紋識(shí)別
    Permission_Management();    //權(quán)限管理
  }
}





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2560

    文章

    52155

    瀏覽量

    761412
  • 指紋識(shí)別
    +關(guān)注

    關(guān)注

    43

    文章

    1745

    瀏覽量

    102838
  • 串口通訊
    +關(guān)注

    關(guān)注

    1

    文章

    263

    瀏覽量

    25305
  • 上位機(jī)
    +關(guān)注

    關(guān)注

    27

    文章

    952

    瀏覽量

    55444
  • OLED顯示
    +關(guān)注

    關(guān)注

    1

    文章

    57

    瀏覽量

    17193

原文標(biāo)題:【CW32優(yōu)秀項(xiàng)目展示】基于CW32的AS608指紋模塊的應(yīng)用

文章出處:【微信號(hào):武漢芯源半導(dǎo)體,微信公眾號(hào):武漢芯源半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CW32模塊使用】SG90舵機(jī)

    我們的目標(biāo)是將例程移植至CW32F030C8T6開(kāi)發(fā)板上【能夠控制舵機(jī)旋轉(zhuǎn)的功能】。首先要獲取資料,查看數(shù)據(jù)手冊(cè)應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。
    的頭像 發(fā)表于 03-29 17:22 ?298次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用】SG90舵機(jī)

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開(kāi)發(fā)實(shí)戰(zhàn)正式出版

    尊敬的各位電子工程師、嵌入式開(kāi)發(fā)愛(ài)好者們:大家好!今天,我們懷著無(wú)比激動(dòng)與自豪的心情,向大家宣布一個(gè)重大喜訊——武漢芯源半導(dǎo)體的單片機(jī)CW32正式出書(shū)啦!《基于ARMCortex-M0+的CW32
    的頭像 發(fā)表于 03-03 15:15 ?446次閱讀
    代碼+案例+生態(tài):武漢芯源半導(dǎo)體<b class='flag-5'>CW32</b>嵌入式開(kāi)發(fā)實(shí)戰(zhàn)正式出版

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開(kāi)發(fā)實(shí)戰(zhàn)正式出版

    尊敬的各位電子工程師、嵌入式開(kāi)發(fā)愛(ài)好者們: 大家好!今天,我們懷著無(wú)比激動(dòng)與自豪的心情,向大家宣布一個(gè)重大喜訊——武漢芯源半導(dǎo)體的單片機(jī)CW32正式出書(shū)啦!《基于ARM Cortex-M0+
    發(fā)表于 03-03 15:14

    CW32模塊使用 紅外接收模塊

    一、模塊來(lái)源 模塊實(shí)物展示: ? 資料鏈接:https://pan.baidu.com/s/1dEWVMIFDWb7k1NcsRy5hHA 資料提取碼:uucv 二、規(guī)格參數(shù) 1.CR2025環(huán)保
    的頭像 發(fā)表于 01-23 13:16 ?338次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 紅外接收<b class='flag-5'>模塊</b>

    CW32模塊使用 EC-01G NBIOT+GPS模塊

    一、模塊來(lái)源 模塊實(shí)物展示: 資料鏈接:https://docs.ai-thinker.com/nb-iot 二、規(guī)格參數(shù) 工作電壓:3.0V-3.6V 工作電流:IMAX = 170mA 模塊尺寸
    的頭像 發(fā)表于 01-23 13:12 ?356次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 EC-01G NBIOT+GPS<b class='flag-5'>模塊</b>

    CW32模塊使用 紅外解碼編碼模塊

    紅外解碼編碼模塊采用MCU+紅外發(fā)射頭+紅外接收頭,引出MCU的串口連接其他需要紅外控制的設(shè)備,可作為紅外無(wú)線數(shù)據(jù)通信、數(shù)據(jù)傳輸?shù)裙δ堋>邆銷EC格式紅外編碼發(fā)射功能,可控制99%的NEC紅外
    的頭像 發(fā)表于 01-23 12:56 ?451次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 紅外解碼編碼<b class='flag-5'>模塊</b>

    基于CW32模塊的火焰?zhèn)鞲衅髟O(shè)計(jì)

    我們的目標(biāo)是將例程移植至CW32F030C8T6開(kāi)發(fā)板上【判斷當(dāng)前檢測(cè)范圍是否有火光的功能】。首先要獲取資料,查看數(shù)據(jù)手冊(cè)應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。
    的頭像 發(fā)表于 11-26 17:18 ?731次閱讀
    基于<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>的火焰?zhèn)鞲衅髟O(shè)計(jì)

    武漢芯源半導(dǎo)體CW32芯片重慶地區(qū)線下技術(shù)交流會(huì)成功舉辦

    2024年10月19日,武漢芯源半導(dǎo)體授權(quán)CW32生態(tài)社區(qū)主辦的“CW32芯片-重慶地區(qū)技術(shù)交流會(huì)”在重慶市科技工作者眾創(chuàng)之家成功舉辦。此次交流會(huì)匯聚重慶地區(qū)的嵌入式開(kāi)發(fā)工程師和電子信息類企業(yè)代表,共同探討CW32芯片在儀器儀表
    的頭像 發(fā)表于 10-24 10:55 ?787次閱讀

    CW32模塊使用 指紋識(shí)別傳感器

    光學(xué)指紋識(shí)別傳感器采用了國(guó)內(nèi)著名指紋識(shí)別芯片公司杭州晟元芯片技術(shù)有限公司(Synochip) 的 AS608 指紋識(shí)別芯片。芯片內(nèi)置 DSP 運(yùn)算單元,集成了
    的頭像 發(fā)表于 09-18 15:15 ?611次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 <b class='flag-5'>指紋</b>識(shí)別傳感器

    【項(xiàng)目展示】基于CW32的遙控循跡小車

    CW32循跡小車.zip_免費(fèi)高速下載|百度網(wǎng)盤(pán)-分享無(wú)限制? 一、概述 CW32循跡、遙控小車具有循跡和遙控兩種功能,小車的硬件模塊CW32F030C8T6小藍(lán)板、智能小車控制底板
    的頭像 發(fā)表于 05-31 17:33 ?1641次閱讀
    【項(xiàng)目展示】基于<b class='flag-5'>CW32</b>的遙控循跡小車

    基于CW32的有刷直流電機(jī)控制實(shí)驗(yàn)三:直流電機(jī)閉環(huán)位置和速度控制實(shí)驗(yàn)

    硬件接線說(shuō)明 實(shí)驗(yàn)使用的模塊主要有6個(gè):小車主控板(黑色)、CW32F030小藍(lán)板、OLED屏幕、TB6612電機(jī)驅(qū)動(dòng)模塊、直流減速電機(jī)、DAP-Link下載器。 安裝好后的圖片如下: 如果
    的頭像 發(fā)表于 05-31 17:01 ?792次閱讀
    基于<b class='flag-5'>CW32</b>的有刷直流電機(jī)控制實(shí)驗(yàn)三:直流電機(jī)閉環(huán)位置和速度控制實(shí)驗(yàn)

    CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)五:ADC采樣及顯示

    的數(shù)字信號(hào)。由于數(shù)字信號(hào)本身不具有實(shí)際意義,僅僅表示一個(gè)相對(duì)大小。故任何一個(gè)模數(shù)轉(zhuǎn)換器都需要一個(gè)參考模擬量作為轉(zhuǎn)換的標(biāo)準(zhǔn),比較常見(jiàn)的參考標(biāo)準(zhǔn)為最大的可轉(zhuǎn)換信號(hào)大小。而輸出的數(shù)字量則表示輸入信號(hào)相對(duì)于參考信號(hào)的大小。 6.1.2. CW32的ADC介紹 CW32F003 內(nèi)
    的頭像 發(fā)表于 05-31 15:28 ?779次閱讀
    <b class='flag-5'>CW32</b>數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)五:ADC采樣及顯示

    CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)四:數(shù)碼管動(dòng)態(tài)顯示

    顯示不同的值需要用到CW32的定時(shí)器功能,在定時(shí)器的中斷服務(wù)程序里面執(zhí)行顯示刷新的動(dòng)作。有關(guān)CW32的定時(shí)器和中斷的相關(guān)知識(shí)請(qǐng)查看鏈接:【CW32F003E4核心板】入門(mén)學(xué)習(xí)教程。本文只講述如何配置定時(shí)器中斷并執(zhí)行數(shù)碼管刷新函數(shù)
    的頭像 發(fā)表于 05-31 15:23 ?767次閱讀
    <b class='flag-5'>CW32</b>數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)四:數(shù)碼管動(dòng)態(tài)顯示

    芯源半導(dǎo)體首個(gè)CW32嵌入式創(chuàng)新實(shí)驗(yàn)室揭牌

    武漢芯源半導(dǎo)體,一家知名的MCU(微控制器)廠商,近日攜手上海科學(xué)技術(shù)職業(yè)學(xué)院,共同揭牌了“CW32嵌入式創(chuàng)新實(shí)驗(yàn)室”。此次合作旨在搭建起企業(yè)與高校之間的緊密橋梁,實(shí)現(xiàn)資源共享和優(yōu)勢(shì)互補(bǔ)。
    的頭像 發(fā)表于 05-08 10:37 ?624次閱讀

    產(chǎn)教融合,校企合作——武漢芯源半導(dǎo)體首個(gè)CW32嵌入式創(chuàng)新實(shí)驗(yàn)室順利揭牌!

    2024年4月24日上午,武漢芯源半導(dǎo)體有限公司與上海科學(xué)技術(shù)職業(yè)學(xué)院共同舉辦的“CW32嵌入式創(chuàng)新實(shí)驗(yàn)室揭牌儀式”在上海科學(xué)技術(shù)職業(yè)學(xué)院第二會(huì)議室隆重舉行。活動(dòng)現(xiàn)場(chǎng),武漢芯源半導(dǎo)體與上海
    的頭像 發(fā)表于 05-06 13:42 ?594次閱讀
    產(chǎn)教融合,校企合作——武漢芯源半導(dǎo)體首個(gè)<b class='flag-5'>CW32</b>嵌入式創(chuàng)新實(shí)驗(yàn)室順利揭牌!
    主站蜘蛛池模板: 1717国产精品久久 | 亚洲精品乱码久久久久久蜜桃图片 | 九九精品久久久久久噜噜 | 很很鲁在线视频播放影院 | 九九热免费观看 | 五月婷婷网址 | 午夜剧场黄色 | 亚洲天堂爱爱 | 欧美色伊人 | 老司机午夜网站 | 四虎影院在线观看免费 | 色视频在线播放 | 欧美猛交lxxxxxxxxx | 国语自产自拍秒拍在线视频 | 久久九色| 婷婷免费视频 | 亚洲特级毛片 | 日本免费一级视频 | 求毛片网站| 理论片毛片 | 日日噜噜噜噜人人爽亚洲精品 | 手机在线看片你懂得 | 五月婷婷丁香在线观看 | 狠狠躁夜夜躁人人爽天天miya | 56pao强力打造 | 韩国男女无遮挡高清性视频 | 国产精品免费看久久久 | 二十年等一人小说在线观看 | 男人天堂资源网 | 黄色小网站在线观看 | 在线天堂中文在线网 | 四虎a级欧美在线观看 | 97色婷婷成人综合在线观看 | 国产在线免| 色婷婷综合久久久久中文一区二区 | 色狠狠狠狠综合影视 | 亚洲综合色dddd26 | 五月天婷婷伊人 | 夜间免费小视频 | 亚洲一区二区三区电影 | se综合|