本次公司项目,需要用到合泰的触控芯片BS82D20A-3,是一款8位,有20个触控引脚的国产芯片。芯片提供商给了相关的触控程序软件包。软件包版本V101。
开发过程
1.硬件
本身只是一个简单的墙板触控PCB,所以硬件及其简单,需要考虑的就是不要将芯片放在触控面后,走线尽量避开触控面。本身只需要有几个简单的功能,UART、TS和e-link的调试(晶振、复位芯片自身都有)。
2.软件
2.1 关于相关外设的调试
肯定不可能一开始就作触控,先调试相关的UART和定时器。当然还有最最重要的时钟,这些都可以通过看手册来编写
/*--------------------------看门狗寄存器设置----------------------------------*/
_wdtc = 0b01010111;//b7~b3:01010使能
//b2~b0:溢出周期选择位 011:2的18次方/32K低速时钟 则为8s
_clrwdt(); //喂狗
/*-------------------------系统时钟寄存器设置---------------------------------*/
// _smod = (_smod&0x40)|0x01;
//b7~b5:系统时钟选择位
//b4:空
//b3:低速振荡器就绪标志位
//b2:高速振荡器就绪标志位
//b1:空闲模式控制位
//b0:系统时钟选择位 0分频时钟/低速时钟 1全速时钟
_hlclk = 1;
_idlen = 0;
// _ctrl = (_ctrl&0x47)|0x00;
//bit7:空闲模式下的系统时钟控制
//bit6:未使用
//bit5~4:高频时钟选择位,8Mhz
//bit3:低功耗控制,0快速启动
//bit2:有效低电压复位标志
//bit1:无
//bit0:设置WE[4:0]引起的复位
_fsyson = 0;
_hircs0 = 1;
_hircs1 = 1;
_lxtlp = 0;
_clrwdt();
/*---------------------------------中断寄存器设置------------------------------------*/
/*--------------------------------串口功能初始化-------------------------------------*/
_ucr1 = (_ucr1&0x13)|0x80; //UART功能的第一个控制寄存器
//bit7:UARTEN,UART功能使能位