經過不懈的努力 發現自己的錯誤在於不知道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 首先...