傳統要使用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的數位腳位了。