在arm做接收dtu引數的時候,始終無法獲取到dtu對映檔案(/dev/dtu)裡面的資料(可能沒找到方法
剛開始用os去開啟
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
fd = os.open('/dev/dtu',os.o_rdwr)
ret = os.read(fd,10)
print ret
得到的始終為空,後來發現用c語言裡面的函式可以得到資料,寫了乙個check.c檔案:
#include #include #include #include #include #include #include #include #include #include #include #define mcu_dido_ioc_magic 'd'
#define io_gpio_set_output _io(mcu_dido_ioc_magic,0)
#define io_gpio_reset_output _io(mcu_dido_ioc_magic,1)
#define io_gpio_get_input _ior(mcu_dido_ioc_magic,2,int)
int testdi()
ret = ioctl(dtu_fd,io_gpio_get_input,&input_value);
close(dtu_fd);
if(ret == 0)
return input_value;
else
return -1
}
用arm-linux-gcc -o check.so -shared -fpic check.c生成check.so檔案(每個人的交叉編譯鏈不一樣)
寫乙個get_value.py:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import ctypes
ll = ctypes.cdll.loadlibrary
lib = ll("/check.so")
print lib.testdi()
執行後得到自己想要的數 C語言 C語言裡面的冒號
原博 看下面一段 cpp view plain copy struct test 這裡提出的問題是,結構體裡面的冒號的作用是什麼。這種冒號的用法不是我隨便杜撰的,而是在實際的 裡面看到的。在c 的函式定義時,引數列表之後可以使用冒號來給變數賦值,這裡的冒號是不是也起著給結構體成員賦預設值的作用呢?是...
C語言裡面的指標問題
一 變數與指標 1.變數 c語言中每次宣告乙個變數,則內存在會申請乙個該變數型別應該佔據的空間.假設int 型別佔四個位元組 不同系統的位元組數不同 那麼語句 int a a 10 即在記憶體中申請了四個位元組的空間,並將其命名為 a,其值為 10.2.變數位址 int型變數 a在記憶體有乙個具體的...
C呼叫lua的table裡面的函式
網上搜尋c c 呼叫lua函式,有一大堆複製貼上的。但是搜尋 c呼叫lua的table裡面的函式 怎麼就沒幾個呢?經過探索,發現其實邏輯是這樣的 1.根據name獲取table 並判斷是否為table 2.根據 name2 獲取table的成員變數或方法,並判斷棧頂的是否為函式 3.將函式的引數壓棧...