中级会员
 
- 积分
- 241
- 金钱
- 241
- 注册时间
- 2012-2-11
- 在线时间
- 25 小时
|
//外部中断初始化函数
void Touch_Init(void)
{
//注意,时钟使能之后,对GPIO的操作才有效
//所以上拉之前,必须使能时钟.才能实现真正的上拉输出
RCC->APB2ENR|=1<<4; //PC时钟使能 开启IC端口C的时钟使能
RCC->APB2ENR|=1<<0; //开启辅助时钟
GPIOC->CRL&=0XFFFF0000;//PC0~3
GPIOC->CRL|=0X00003883;
GPIOC->CRH&=0XFF0FFFFF;//PC13
GPIOC->CRH|=0X00300000;//PC13推挽输出
GPIOC->ODR|=0X200f; //PC0~3 13 全部上拉
Read_ADS(& en_Point.X,& en_Point.Y);//第一次读取初始化
MY_NVIC_Init(2,0,EXTI1_IRQChannel,2);
RCC->APB2ENR|=0x01; //使能io复用时钟
AFIO->EXTICR[0]|=0X0020; //EXTI13映射到PC1
EXTI->IMR|=1<<1; //开启line1上的中断
EXTI->EMR|=1<<1; //不屏蔽line1上的事件
EXTI->FTSR|=1<<1; //line1上事件下降沿触发
#ifdef ADJ_SAVE_ENABLE
AT24CXX_Init();//初始化24CXX
if(Get_Adjdata())return;//已经校准
else //未校准?
{
LCD_Clear(WHITE);//清屏
Touch_Adjust(); //屏幕校准
Save_Adjdata();
}
Get_Adjdata();
#else
LCD_Clear(WHITE);//清屏
Touch_Adjust(); //屏幕校准,带自动保存
#endif
原子哥这句怎么理解,还有ADJ_SAVE_ENABLE 这个宏定义没怎么赋值啊。
|
|