原创 urb的使用

Linux系統中,所有的 USB 設備通訊使用稱爲 urb 的東西( USB request block). 這個請求塊用 struct urb 結構描述並且可在 include/linux/usb.h 中找到 下面就來看看urb怎麼去

原创 I/O多路複用之select,poll和epoll

select和pselect 頭文件 #include <sys/select.h> 函數定義 int select(int n,fd_set * readfds,fd_set * writefds,fd_se

原创 stm32 關於ENC28J60TCP和UDP的實現

實現的功能 ARP的實現 首先我們必須明白,我們的ip是自己手動設定的,這時,怎樣讓別人知道你,就需要ARP,也就是通過ip找mac地址 ICMP的實現 ICMP這裏主要是實現了ping命令

原创 使用shell 實現tree函數

學了這麼久shell,放出一個實例,僅供娛樂 #!/bin/bash #SAVEPATH=`pwd` if [ $# -gt "0" ] then START_DIR=$1 else START_DIR="`pwd`" fi

原创 Preference中setOnPreferenceClickListener和setOnPreferenceChangeListener的區別

setOnPreferenceClickListener註冊的回調函數,在你點擊PreferenceCategory之後就會執行,當然,此時PreferenceCategory裏面包含的EditTextPreference還沒有初始化,此

原创 AndroidManifest.xml文件詳解

    AndroidManifest.xml是每個android程序中必須的文件。它位於application的根目錄,描述了package中的全局數據,包括了package中暴露的組件(activities, services, 等等

原创 linux 管道通信

無名管道:   1)管道是半雙工的,只能支持數據的單向流動;兩進程間需要通信時需要建立起兩個管道;   2)使用無名管道通訊的進程必須擁有公共祖先進程 pipe: 1) 頭文件 : <span style="white-space:pr

原创 shell 中的引號

首先明白,在 shell 語句中使用引號,是爲了說明引用的部分是一個整體 雙引號雙引號可引用除字符美元符($)、反引號(`)和反斜槓(\)外的任意字符或字符串,對於shell來說,它們有特殊的意義 單引號單引號可忽略任何引用。即將其

原创 socket UDP的使用

首先明白,對於UDP而言,沒有所謂的服務器端和客戶端之分,言下之意,就是。。。。 這要寫一個程序,就可以代表客戶端又可以代表服務器 真這麼牛。。。。。。還是看看再說吧!!!! 頭文件 #include <sys/types.h> #i

原创 Linux自旋鎖

自旋鎖概念 自旋鎖顧名思義首先是一把鎖,另外使用這把鎖的線程需要反覆自我循環(loop)檢測這把鎖是否可用。注意與信號量區別,信號量也是一把鎖,但是使用這把鎖的線程檢測鎖不可用時,選擇去睡眠,而不是自我循環。 自旋鎖與信號量相同點是兩者都

原创 usb 驅動中的相關結構體關係圖

點贊 收藏 分享 文章舉報 貝特菲爾 發佈了34 篇原創文章 · 獲贊 5 · 訪問量 4萬+ 私信 關注

原创 一個字符驅動

實現一個基本框架 #define notice(fmt,args...) printk(KERN_NOTICE "scull-->" fmt,##args) #define error(fmt,args...) printk

原创 linux 中的原子操作和內存屏蔽

由於操作系統中存在多進程對共享資源的併發訪問,從而引起了進程間的競態。這其中包括了我們所熟知的SMP系統,多核間的相互競爭資源,單CPU之間的相互競爭,中斷和進程間的相互搶佔等諸多問題。 因此,我們需要一些解決方法,在Linux內核中它提

原创 十進制字符串轉化成十六進制字符串(不定長)

這裏寫自定義目錄標題設計思路一般思路對於不定長字符長怎麼處理?將數據添加到buffer中完整代碼 設計思路 一般思路 一般如果需要將十進制轉化成十六進制,先定義一個int data,然後從高位到地位遍歷十進制字符串,將數據一位位的

原创 在 box 版 android7.1 源碼中添加 EC20 4G 模塊

移植 linux 驅動 此處按照供應商提供的文檔來,不再詳細敘述,驅動移植完成後會生成 /dev/ttyUSB0-ttyUSB4 文件 android hardware 層服務開啓 在hardware中,需要開啓ril-daemo