原创 驅動開發Makefile

obj-m += hello.o  all:         make -C /home/tarena/driver/kernel M=$(PWD) modules         cp *.ko /hom

原创 CRC-16 / MODBUS 校驗計算方法

CRC-16 / MODBUS : 1)CRC寄存器初始值爲 FFFF;即16個字節全爲1; 2)CRC-16 / MODBUS的多項式A001H (1010 0000 0000 0001B) ‘H’表示16進制數,‘B’表示二進制數 計

原创 Linux驅動編程----input子系統

input子系統個人理解:    Linux系統中將輸入事件進行了分類及設計,將事件類型分類爲EV_KEY等,將事件發生後要上報對應的事件的值放在code中,將狀態按下或擡起時的判斷放在value中。封裝在一個結構體中 struct in

原创 Lua筆記----關於LUA取整,取餘操作分析

1,Lua取餘     1)‘%’ 此操作與C一樣,舉例:a=8,b=3,  a%b的結果爲:2     2)math.floor()函數,此函數也是取餘,當左值小於右值的時候,math.floor()會輸出0,詳細看代碼: prin

原创 Linux下檢測C程序內存問題--valgrind

一,Valgrind 是個開源的軟件 下載地址:valgrind.org Linux直接下載方式:sudo apt-get install valgrind     二,Valgrind簡介 Valgrind是一款用於內存調試、內存泄漏

原创 Linux驅動編程----底半部機制(中斷)

Linux內核中將中斷響應的處理可以分爲兩部分:頂半部和底半部    1,頂半部處理要緊且操作時間短的事件,如恢復相應的寄存器狀態    2,底半部處理操作時間長的事件實現以上機制的兩種:1,tasklet    使用模板如下:/*聲明底

原创 Html中a標籤的使用(下載及設計成按鈕)

用a標籤實現文件下載,並將a標籤設計成按鈕樣式一,<a>標籤實現下載<style> a {color: #696B83;TEXT-DECORATION: none}//設置a標籤的顏色,除去下劃線 a:active {background

原创 Linux中等待隊列的相關API

1,等待隊列  1)定義等待隊列頭   wait_queue_head_t my_queue;  2)初始化  init_waitqueue_head(&my_queue);  //定義並初始化宏  DECLEAR_WAIT_QUEUE_

原创 Linux驅動開發--實現設備的異步通知

異步通知:即設備準備就緒時主動通知設備基本實現原理:    1,當設備可讀時,發送一個信號通知應用程序    2,應用程序接收到信號後,執行讀操作    舉例:異步通知編程:void input_handler(int num) {

原创 LUA筆記(3)-- 關於lua的使用

一,比如Koreader是一個使用 Lua 和 C/C++ 混合編程的軟件。 Lua 是 Koreader 的主要編程語言,它做了以下工作 1,控制底層輸入輸出(處理用戶按鍵輸入、手勢識別、控制屏幕刷新) 2,處理程序應用邏輯 而C/C+

原创 LUA筆記(4)----移植LUA到ARM平臺

一,下載LUA的源碼 下載地址:http://www.lua.org/download.html   解壓下載的下載的壓縮包 tar -xvf lua-5.1.4.tar.gz (解壓到哪裏都可以)   二,修改編譯器 我用的交叉編譯器器

原创 移植curl到arm平臺上

簡要:最近需要在arm平臺上使用curl來解析網頁的api 一,下載curl源碼 地址:https://curl.haxx.se/download.html 解壓:tar -xvf curl-7.57.0.tar.gz 二,配置curl

原创 arm開發板無法使用dns解析問題

一,環境及問題 1,busybox做的根文件系統,採用動態鏈接 2,nfs方式掛載到主機 3,複製了主機的三個文件hosts  nsswitch.conf  resolv.conf 4,在resovl.conf上配置了nameserve

原创 QT--生成可執行文件

QT 生成的可執行文件exe在其他電腦還不能使用需要附帶DLL方法:windows下用cmd進入qt項目對應的release文件中 然後執行windeployqt test.exe那麼對應的文件夾中會生成對應的dll文件,一起打包就可以用

原创 QT(2)----判斷checkbox是否被勾選

使用isChecked()方法 舉例: 首先UI設計師上要有這個checkbox的控件 if(ui->checkbox->isChecked()==true) { startTimer(1000); }當被勾選後,isChe