新手上路
- 积分
- 46
- 金钱
- 46
- 注册时间
- 2011-10-15
- 在线时间
- 0 小时
|
1、触摸屏中的外部中断初始化里面有个句子(如下红色的语句),明明是PC时钟使能,而且前面已经使能了, 再次赋值不是没有用吗?哪里有使能复用时钟?
2、在触摸屏实验中怎么我找不到spi的使能的?直接调用了。RCC->APB2ENR里面不是有spi的使能位吗?怎么不赋值的?
3、还有,弱弱问问,printf语句怎么也没有用的?不像vc有窗口输出的哦~难道是仿真时候用的?
//外部中断初始化函数
void Touch_Init(void)
{
//注意,时钟使能之后,对GPIO的操作才有效
//所以上拉之前,必须使能时钟.才能实现真正的上拉输出
RCC->APB2ENR|=1<<4; //PC时钟使能
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
// printf("Pen_Point.xfac:%f\n",Pen_Point.xfac);
// printf("Pen_Point.yfac:%f\n",Pen_Point.yfac);
// printf("Pen_Point.xoff:%d\n",Pen_Point.xoff);
// printf("Pen_Point.yoff:%d\n",Pen_Point.yoff);
}
|
|