目錄
**倉庫這裡我們採用兩種方式的輸入,使用查詢的方式來讀取具體的輸入,輪詢的前提就是所有輸入裝置都是非阻塞的方式一方式二
關於這裡的io模型,select參考《嵌入式linux應用程式開發標準教程》
裡面的第六章
對於觸控螢幕的庫tslib
,支援非阻塞開啟,也就是傳遞引數1
即可
struct tsdev *ts_open(const char *name, int nonblock)
o_nonblock (non-blocking) 它在讀取不到資料時會回傳-1,並且設定errno為 eagain具體的使用**可以參考
tslib-1.4.tar.gz/tests/ts_print.c
標準輸入這裡可以有兩種方式:
方式一 設定終端輸入為非阻塞
struct termios tttystate;
//get the terminal state
tcgetattr(stdin_fileno, &tttystate);
//turn off canonical mode
tttystate.c_lflag &= ~icanon;
//minimum of number input read.
tttystate.c_cc[vmin] = 0;
// 立即返回
tttystate.c_cc[time] = 0;
//set the terminal attributes.
tcsetattr(stdin_fileno, tcsanow, &tttystate);
然後從流中讀取
int num_read,ch;
char buf_read[10];
num_read = fread(buf_read, 1, 1, stdin);
if(num_read)
方式二 :使用阻塞乙個字元,然後使用select的超時為0來達到非阻塞的效果
static int stdindevinit(void)
然後讀取輸入的時候用select
來監視讀取的流,select的超時為0也就是沒有資料就馬上退出
int stdget(t_inputevent* out_input_event)
}
iret = ts_read(g_ttsdev, &tsamp, 1);
if (iret < 0)
還有就是判斷超時,沒有判斷大小,所以應該先判斷大小先,這裡應該沒什麼關係
static int isoutof500ms(struct timeval *ptpretime, struct timeval *ptnowtime)
static int isoutof500ms(struct timeval *ptpretime, struct timeval *ptnowtime)
else
}
tslib庫,這裡如果有問題看之前的觸控螢幕驅動文章
修改/etc/ts.conf
第1行(去掉#號和第乙個空格),# module_raw input
改為module_raw input
設定環境變數
export tslib_tsdevice=/dev/event0
export tslib_calibfile=/etc/pointercal
export tslib_conffile=/etc/ts.conf
export tslib_plugindir=/lib/ts
export tslib_consoledevice=none
export tslib_fbdevice=/dev/fb0
3.校準ts_calibrate
開啟telnettelnetd -l /bin/sh
執行程式./show_file -f simsun1.ttc -s 12 main.c
pc上可以使用telnet再登入開發板檢視cpu
keras搬磚系列 keras多輸入多輸出模型
使用函式式模型的乙個典型的場景就是搭建多輸入,多輸出模型。考慮這樣乙個模型,希望 一條新聞會被 和點讚多少次。模型的主要輸入是新聞的本身,也就是乙個詞語的序列,但是我們可能還需要額外的輸入,新聞發布的日期等,所以這個模型的損失函式將會由兩個部分組成,輔助的損失函式基於新聞本身做出的 的情況,主損失函...
多執行緒支援多輸入
main.c input manager.c touchscreen.c stdin.c 輸入模組分為三層,input manager.c通過鍊錶管理底層各種輸入裝置,每個裝置向上註冊inputopr結構體,提供該裝置的各種操作函式和資料。其中input manager.c實現了幾個函式供main....
Python 使用input()實現多輸入
用map split 以及input 可以實現用input 同時輸入多個數。1.map map 函式接收兩個引數,乙個是函式,乙個是序列,map將傳入的函式依次作用到序列的每個元素,並把結果作為新的list返回。2.split 拆分字串。通過指定分隔符對字串進行切片,並返回分割後的字串列表 list...