傳統要使用LabVIEW控制MCU的腳位,通常是使用UART或RS232介面,

因為對MCU而言應該是容易取得的通訊介面,

對LabVIEW而言,也都有子函數可用,

使用USB對LabVIEW而言並不是垂手可得,

我使用了call dll的方法,將Microchip提供的mpusbapi.dll call到LabVIEW中使用,

我逐漸喜歡用USB的原因是,一般的比電都有USB介面,RS232介面越來越少見,

另一個原因是USB可以用來當電源,可以供MCU使用,也可以充鋰電。

要使用LabVIEW控制MCU的數位腳位,

首先,

再pic MCU的程式程式裡加入:

//Check to see if data has arrived

if ( ! USBHandleBusy(USBGenericOutHandle))
  {

    Digital_Port= OUTPacket._byte[2];
    if (Digital_Port)
      {LATCbits.LATC0 = 1;}     //<------- 可指定任何數位腳位
    else
      {LATCbits.LATC0 = 0;}

    counter=0x09;  //傳送數量

   }

if (counter != 0)
   {
     if (!USBHandleBusy(USBGenericInHandle))
        {
          USBGenericInHandle = USBGenWrite(USBGEN_EP_NUM,(BYTE*)&INPacket,counter);
        }
   }//end if
        
   //Re-arm the OUT endpoint for the next packet
   USBGenericOutHandle = USBGenRead(USBGEN_EP_NUM,(BYTE*)&OUTPacket,USBGEN_EP_SIZE);

 

而在PC端的LabVIEW程式:  

在MPUSB write上加入Digital Port控制項,

 

如此便可以使用LabVIEW經由USB來控制MCU的數位腳位了。

文章標籤
創作者介紹
創作者 fishark 的頭像
fishark

魚的方舟 * 圖形語言的世界* - LabVIEW 工作室 & APP開發研究室 & Arduino整合開發 -

fishark 發表在 痞客邦 留言(1) 人氣()


留言列表 (1)

發表留言
  • Chu
  • 想請教一下 mpusbapi.dll 這個檔案,我在新版的 mplabX 編譯器裡面並沒有找到

    是要自己去另外安裝嗎?
  • 之前這個dll需要額外裝libary,不是MPLAB原來就有。

    fishark 於 2016/09/23 19:32 回覆

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼