一般來說,讀M點位都是使用GetDevice這個方法,不過,當用for迴圈使用GetDevice或是短時間內使用GetDevice ( e.g. 在timer中使用,而且timer的inteval極短,200毫秒之類的 ) 時,介面程式會當掉,或是執行緒被咬死。
此時有個解法:使用讀D值的方法ReadDevice。
使用ReadDevice這個方法讀取完後,再一個bit一個bit逐一讀取。
不過要注意,一個long或int只能接一個D值,但一個long或integer有4個byte,而一個D卻只有2個byte,所以D值只會填在前面兩個byte(低位的部分),如下圖