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