去年做的LPC845電容觸摸板子,今年終于調好軟件了。參考了官方程序例子,修修改改,圓環(huán)觸摸效果終于出來了。感覺效果還不錯,可以實現(xiàn)圓環(huán)當觸摸按鍵和模擬值。
下面就是串口輸出測試的9路觸摸端口數值。其中圓環(huán)使用觸摸的3-8路端口。線性滑塊使用0-2這3路端口,不過線性滑塊部分沒畫好,效果不行。后面再試試畫個滑塊。
下圖中touch是觸摸通道,wheel是計算的模擬值,模擬值范圍大概0-250左右。
實際板子如下:
去年調試時總是X3路端口觸摸值不對勁,所以一直沒搞好。今年終于發(fā)現(xiàn)問題所在了。都是被lpc845的SDK坑了。也不知道新的SDK有沒改正這個錯誤。
主要原因就是X3路端口沒有切換到觸摸功能。
下面就是SWM切換觸摸端口函數,這個函數有個問題
因為切換函數的X3路參數數值正好是0x80000000,而這個值正好是X4-X8,YH,YL的標志位用于區(qū)分是寫入PINENABLE0還是PINENABLE1的參數。所以在調用X3切換的參數時,實際并沒有寫道SWM切換的PINENABLE0的31位,導致X3觸摸端口沒使能觸摸功能。
下面是X3切換的寄存器位置。
這里就可以看到X3路端口沒有使能。
最終修改了了一下??梢钥吹絏3成功切換使能了。
為了解決這個問題耽誤了好久。。。。。。
后面就可以用這個觸摸圓環(huán)做一些其他控制了。