08-03-2011 10:35 PM - 已編輯 08-03-2011 10:43 PM
ni-8451使用I2C的功能
我在使用Script系列的功能 去打包我要送出去的封包
可是我發現 我沒接在待測物上 他仍然會快速的寫讀完 資料全都是0
請問一下 它不是應該會收發ACK時就自己收不到回應了嗎 而停頓 怎麼還能快速讀寫完
有哪個命令是可以知道待測物沒有回應
我希望達到的結果是 根本沒接待測物 或 待測物當掉 沒有回應 我能夠知道
程式碼如下
if( ni845xI2cScriptIssueStart (gScriptHandle)==0)
{
if(ni845xI2cScriptAddressWrite(gScriptHandle,SlaveAddress)==0)
{
if( ni845xI2cScriptWrite (gScriptHandle, ByteToWrite, gSendBuf)==0)
{
if( ni845xI2cScriptIssueStop (gScriptHandle)==0)
{
if( ni845xI2cScriptIssueStart (gScriptHandle)==0)
{
if(ni845xI2cScriptAddressRead(gScriptHandle,SlaveAddress)==0)
{
if( ni845xI2cScriptRead (gScriptHandle, ByteToRead, 0 , &ScriptReadIndex)==0)
{
if( ni845xI2cScriptIssueStop (gScriptHandle)==0)
{
if(ni845xI2cScriptRun(gScriptHandle, gDeviceHandle, PortNumber)==0);
在 08-04-2011 09:45 PM
Hi 您好
在使用USB-8451時,安裝Driver選項中可以選擇安裝CVI support / Visual C support
安裝好後,您可以開啟C的範例程式
如:General I2C Read Script.c
路徑:C:\Users\Public\Documents\National Instruments\CVI\Samples\ni845x\I2C\Advanced\General I2C Read Script
在程式中您也可以找到Function Help
路徑:C:\Program Files\National Instruments\NI-845x\Documentation\845xAPI.chm
Help中敘述,
"If a slave does not acknowledge the address, ni845xI2cScriptRun exits with an error."
所以原則上Function用對,若沒有接待測物 或待測物當掉,是可以從此Function得知的
您再參考一下
謝謝
NITW Apprication Engineer