TQ2440 AD中斷方式採集資料

2021-06-01 10:22:55 字數 938 閱讀 6905

經過不懈的努力  發現自己的錯誤在於不知道adc的中斷有兩個子中斷  2440的adc中斷包括int_adc_s和int_tc  需要先處理一下子中斷int_adc_c  再處理int_adc

另外要感謝21icbbs上的網友hbicecream的幫助  我才想起來uart_printf函式也是需要中斷的

所以最好不要在中斷服務程式中使用uart_printf

最終整理的程式如下:

使用的板子為tq2440

#define        enableirq(bit)                rintmsk &= ~(bit)

#define        disableirq(bit)                rintmsk |= (bit)

#define        enablesubirq(bit)        rintsubmsk &= ~(bit)

#define        disablesubirq(bit)        rintsubmsk |= (bit)

#define bit_adc                        (0x1<<31)

#define bit_sub_adc                (0x1<<10)

__inline void clearpending(int bit)

__inline void clearsubpending(int bit)

volatile u32 adresult=0;//該變數做測試用 看能不能進入中斷服務程式

volatile u32 adping=0;

static void __irq adc_isr(void)

}__inline void clearpending(int bit)

void main(void)

}

TQ2440 AD取樣資料濾波處理

上次用到了ad轉換晶元tlc2543,取樣的資料有時候偶爾會有毛刺和雜訊,沒有打算用硬體濾波的方法,所以參考了很多軟體濾波的方案,針對自己設計的系統,決定採用滑動加權濾波的方法。優點 相比限幅濾波,中值濾波,算數平均濾波,去極值平均濾波,滑動平均濾波等方法,滑動加權濾波方法實時好 相比前幾種濾波方式...

TQ2440背光控制

控制lcd背光就是控制s3c2440的lcd控制的lcd pwren腳lcdcon5暫存器pwren位控制lcd是否輸出。對linux 2.6.30.4核心進行移植。新建乙個backlight.c檔案放到 drivers video 目錄下。內容如下 include include include ...

《TQ2440載入Hello world驅動模組》

經過將近乙個月都時間終於按照手冊把linux核心移植完了,接下來要開始驅動模組的移植了,在網上查了一些資料,總結如下 目標平台 tq2440 arm9 核心版本 linux 2.6.25 前提 宿主機上已安裝交叉編譯工具,因為這個在linux核心移植的時候就使用過了,這裡就不說了。進入正題 1 首先...