正常讀取io是批量讀取出來的,呼叫相關函式後會直接返回int型的數
io點的狀態是按照bit位排列的
bit0代表硬體接線的0號位置,
bit1代表硬體接線的1號位置
.....以此類推,缺少的為空置
乙個int數大小是32位,共可以儲存32個點位資訊
如上圖,上面in的狀態讀取的反饋值就是21
轉換成2進製就是10101,剛好和上圖io狀態一一對應
1.先建立乙個 int陣列,大小為32,用於儲存讀取出來的io資訊
因為我們讀取的值是乙個int數,然後需要轉換成單個io的值
此時需要用的指令有》右移指令 ,& 按位與運算指令
a = 0011 1100
a >> 2 將得到 15,即為 0000 1111
以下為具體實現程式
如果需要讀取bit1位的狀態,則先把讀取的到值往右位移1位
即 input>>1 此時 1位的值就移動到了bit0,然後在和1進行與運算,得到 (input>>1)&1
如果該點位值為1那麼與運算結果就是1,如果為0那麼與運算結果就是0
這時得到我們想要的結果了,賦值給新建的陣列就行了
最後使用for迴圈,從0開始運算io狀態,賦值給陣列
那麼陣列0位的狀態就是io的0位狀態,當值等於1時,代表該點位有效(部分裝置可能是0有效)
後面程式中,只需要訪問di_data這個變數就輕鬆知道裝置io的狀態值了
批量讀取 R 批量讀取檔案
檔案讀取 1 同一目錄下,多個同一型別,檔名連續的檔案資料讀取 設定工作目錄 setwd d r project 設定乙個空白的資料框 data 我的檔案是 001.csv 002.csv 003.csv 思維方式是用乙個id的向量,從1數到100,然後和 csv 拼接起來,組成檔名,函式可以用pa...
python 批量讀取excel
先將檔案下的excel檔案形成list.txt 再讀這個list檔案 f open list excel.txt 讀取檔案獲取每個檔案的檔名 for line in f line str1 line 1 去掉換行符 line1 line str1 xls print line1 對讀取單個excel...
Python批量讀取檔案 記錄
方法1 參考 import os path r g my test dp 000 trajectory 待讀取的資料夾 path list os.listdir path path list.sort 對讀取的路徑進行排序 for filename in path list print os.pat...