原创 四線電阻觸摸屏校準
關於觸摸屏校準算法的分析 介紹一種比較簡單的四線電阻觸摸屏校準算法,本算法已在實際工程中使用,效果不錯,大家放心使用! 一、準備工作 1、設LCD分辨率爲LCDX,LCDY(比如:800X480) 2、LCD座標爲邏輯座標用L表示,觸摸屏
原创 串口硬件流量控制說明
流量控制 對 串口而言,意味着 可以停止發送 然後重新開始,而不丟失任何數據 用專用的控制線來發送 “停止”和“開始”信號 RTS Request To Send 我可以接受數據,請求發送數據給我 CTS Clear
原创 關於 可重入 函數的詳解
一、什麼是可重入函數? 答:可重入函數就是多個線程訪問同一個函數時,彼此之間互不影響,均能得到期望的結果 二、如何使函數可重入? 答:保證函數所有的輸入都來自於函數的形參,所有的輸出都爲從函數返回值或輸出參數得到, 函數
原创 求三個數值的中間值的宏定義
怎麼用一個宏來求三個數值的中間值呢?請看:#include <stdio.h> #define MIDDLE(x,y,z) \ ((x)<(y)?((y)<(z)?(y):(x)<(z)?(z):(x)):((y)>(z)?(y):(x
原创 關於二維數組和指針
在C語言中有如下結論: 一、在表達式中數組名都是其首元素的地址 但有兩種情況除外: (1)當數組名作爲sizeof操作符的操作數時,sizeof返回的是整個數組長度,而不是指向數組的指針長度 (2)當數組名作爲&操作符的操作數時,所
原创 LCD驅動移植配置總結
總結下移植LCD驅動時的參數配置情況: 根據LCD數據手冊和處理器數據手冊LCD控制器部分, 得到如下參數: 一、基本參數(4個) 1、寬度即水平像素點個數(eg:800) 2、高度即垂直像素點個數(eg:480) 3、描述單個像素點需要
原创 關於根文件系統的整理
看到百度百科裏關於“根文件系統”的描述,覺得很不錯,遂整理部分經典內容如下: 根文件系統首先是一種文件系統,該文件系統不僅具有普通文件系統的存儲數據文件的功能, 但是相對於普通的文件系統,它的特殊之處在於, 它是內核啓動時所掛載(moun
原创 do...while(0)的妙用
在C++中,有三種類型的循環語句:for, while, 和do...while, 但是在一般應用中作循環時, 我們可能用for和while要多一些,do...while相對不受重視。 但是,最近在讀我們項目的代碼時,卻發現了do.
原创 詳解linux平臺芯片燒寫流程
詳解將持續更新!這裏的燒寫是針對板子裏的nandflash中已經有uboot的情況。 目的在於熟悉燒寫流程及原理! 連接好開發板,重新啓動,進入u-boot交互界面,執行如下操作: 一、配置網絡 # print # setenv i
原创 C/C++ 內存區劃分、內存分配、常量存儲區、堆、棧、自由存儲區、全局區
這可以幫助你深入瞭解程序的運行機制,由於自己還是一個初學者,因此大部分內容都只是轉載。 一. 在c中分爲這幾個存儲區 1.棧 ——由編譯器自動分配釋放 2.堆 ——一般由程序員分配釋放,若程序員不釋放,程序結束時可能由OS回收
原创 四線電阻觸摸屏採樣濾波算法C語言代碼
四線電阻觸摸屏的採樣濾波算法,實踐證明很好用的!void TsAdcStart(void) // 自己實現 { } bool IsTsAdcOver(void) // 自己實現 { bool iRes; return i
原创 linux最簡單的驅動編寫及測試流程
本文采用nfs掛載網絡文件系統的方式,手動創建設備節點, 動態加載驅動模塊,對理解驅動編寫流程有很大好處! 一、初級驅動執行流程: 1、寫好Makefile文件,裏面包含將應用程序編譯成app文件,將驅動程序編譯成myd
原创 理解“統一編址與獨立編址”,“I/O端口與I/O內存”
從CPU連出來一把線:數據總線、地址總線、控制總線,這把線上掛着N個接口,有相同的,有不同的,名字叫做存儲器接口、中斷控制接口、DMA接口、並行接口、串行接口、AD接口……一個設備要想接入,就用自己的接口和總線上的某個匹配接口對接……於
原创 μC/OS-II事件標誌組的入門級使用方法
試想如下情況,有A、B、C三個事件,當A、B都滿足某一條件(或執行某一動作)後C才能得到運行(持續運行或運行一次後繼續等待A、B條件再次滿足後再運行)。 如果需要實現這樣的功能,就可以用事件標誌組來實現了! 具體看實例:
原创 詳解將驅動程序編譯進linux內核
1、進入目錄linux-kernel-samsung-dev\drivers\char 2、新建目標目錄01.led,將驅動相關文件複製到此目錄 注:需確保複製的驅動文件是能正常運行的驅動 3、在目錄01.led裏編寫Kconfig