原创 虛擬視頻驅動程序vivi.c源碼分析

虛擬視頻驅動程序vivi.c源碼分析 以下先把上一篇文章中的最後一段,放在這裏利於程序源碼的分析: vivi.c 虛擬視頻驅動程序----- 此代碼模擬一個真正的視頻設備V4L2 API (位於drivers/media/video目

原创 Qt下 QString轉char*

原帖地址:http://www.cnblogs.com/Romi/archive/2012/03/12/2392478.html Qt下面,字符串都用QString,確實給開發者提供了方便,想想VC裏面定義的各種變量類型,而且函數參

原创 linux 等待隊列

1、爲什麼要使用等待隊列? 等待隊列就是阻塞型字符設備驅動的必需品。阻塞型就是說某個設備可讀或者可寫,但是呢,某個時候這個設備沒有東西給你讀,但你的應用程序(進程)操作卻要向設備去讀取數據,那沒辦法,要麼就出錯,要麼就阻塞着在那裏等着

原创 TCP通信中一方關閉socket,另一方被強制退出(SIGPIPE)

參考博客:1、參考鏈接 一、問題來源Linux上一個TCP服務器負責採集發送圖片數據,windows客戶端接收數據,當客戶端關閉socket或者退出時,服務器進程被強制退出。 二、分析(網絡)具體的分析可以結合TCP的"四次握手"關閉.

原创 C語言中float類型在內存中的表示

原帖地址:點擊打開鏈接 一個float型實數在內存中佔4個字節,即32個二進制bit,從低位到高位依次叫第0位到第31位.這32位可以分爲3個部分:符號位(第31位),階碼(第30位到第23位共8位),尾數(最低23位)。 1、符號

原创 AD軟件使用技巧和PCB製作技巧

1、三極管 :直插封裝和貼片封裝的 “B” 和 “E”引腳對調; 2、AVR單片機 :貼片封裝和直插封裝的引腳號不對應; 3、刪除板子畫出框外的絲印:只想修改某個PCB文件的絲印,雙擊該元件,在彈出的屬性窗口中取消LOCK PRIMS 前

原创 AVR單片機使用總結

1、warning: array subscript has type 'char' a) 若數組使用 char型變量作爲下標,因爲char型變量有符號,所以軟件會發出警告,將其改爲unsigned char即可; 2、Visual sc

原创 Source Insight使用技巧

1、設置字體: 點擊Option -> Document Option->Screen Font 然後進行設置 填上Yes; 2、爲Source Insight 添加Makefile,kconfig,彙編文件的支持:     添加make

原创 Linux輸入子系統分析(二)

首先說明一下,本文是基於Linux-2.6.38版本內核來分析Linux輸入子系統架構和原理的。這陣子本來沒有打算花時間來分析Linux input system的,然而當在研究S3C6410觸摸屏驅動的時候悲劇不期而至,內核中並沒有實

原创 Linux下ARM寄存器映射定義

在Linux系統下,不能直接通過使用寄存器的名稱來操作寄存器,但是可以建立自定義寄存器和實際地址的映射關係,操作方法如下: 1、定義寄存器名稱: volatile unsigned long *gpfcon; //定義GPF控制寄存器

原创 Ubuntu下安裝Qt4.5(包括X86和ARM版本)

條件:TQ2440開發板,虛擬機安裝的Ubuntu10.04,安裝好天嵌自帶的GCC交叉編譯器參考:http://blog.csdn.net/newnewman80/article/details/6286271一、安裝qt-openso

原创 Qt - Q_INIT_RESOURCE()

Q_INIT_RESOURCE是Qt的資源機制(resource mechanism),它使程序在編譯時將圖片存儲在.cpp文件中,運行時連接它。這要求你建立一個Qt資源文件***.qrc,在***.qrc中指定圖片位置。編譯時編譯器將*

原创 ARM-Linux驅動相關頭文件知識點

#include <linux/***.h> 在linux-2.6.31/include/linux下面尋找源文件 #include <asm/***.h> 在linux-2.6.31/arch/arm/include/asm下面尋

原创 qvbox.h”: No such file or directory

在QT4的編譯環境中編譯《Qt入門教程》第三章 家庭價值時候,出現qvbox.h”: No such file or directory The QVBox class is now only available as Q3VBox 

原创 51單片機使用總結(持續更新)

1、單片機一上電就進入串口中斷 初始化語句中把REN=1,放在SM1=1後面; 2、串口發送的數據似乎能被自己接收到,不理解其中的原因;(未解決) 3、一個Keil工程下包含多個文件夾如何設置 設置 Target Option-->C5