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