OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3112|回复: 1

STM32F407ZG ILI9468 触摸屏采样数据全是零 求高手指教

[复制链接]
回帖奖励 1 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次

2

主题

4

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2018-10-30
在线时间
6 小时
发表于 2018-10-30 09:43:58 | 显示全部楼层 |阅读模式
代码移植了原子哥的
主函数里面就进行了采样值的显示到LCD屏上
按压屏幕就采样赋值给K
然后循环显示。
但是采样值移植为0。

int main()
{
        u16 k=5;
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
        LCD_Init();//内部有系统时钟初始化
        led_Init();//初始化LED
        key_Init();//初始化LCD
        My_RTC_Init();                                 //初始化RTC
        uart_init(115200);                //初始化串口波特率为115200
        tp_dev.init();                                //触摸屏初始化

                while(1)
        {
                if(PEN==0)
                {
                k=TP_Read_AD(0XD0);
                }
                if(key_Scan(0)==1)k=5;
                LCD_ShowNum(100,100,k,4,24);
               
               
        }
}



u8 TP_Init(void)
{
       
        GPIO_InitTypeDef GPIO_InitStructure;
       
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOF, ENABLE);//使能GPIOB,C,F时钟
       
            //GPIOB1,2初始化设置
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;//PB1/PB2 设置为上拉输入
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//输入模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
    GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;//PB0设置为推挽输出
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//输出模式
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;//PC13设置为推挽输出
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//输出模式
        GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化       
               
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;//PF11设置推挽输出
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//输出模式
        GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化                       
       
//        TP_Read_XY(&tp_dev.x[0],&tp_dev.y[0]);//第一次读取初始化
//        if(TP_Get_Adjdata())return 0;//已经校准
//        else                           //未校准?
//        {                                                                                     
//                LCD_Clear(WHITE);//清屏
//                TP_Adjust();          //屏幕校准
//                TP_Save_Adjdata();         
//        }                       
//        TP_Get_Adjdata();               
//        return 1;       

}
就进行了接口配置

//SPI读数据
//从触摸屏IC读取adc值
//CMD:指令
//返回值:读到的数据          
u16 TP_Read_AD(u8 CMD)          
{          
        u8 count=0;           
        u16 Num=0;
        TCLK=0;                //先拉低时钟          
        TDIN=0;         //拉低数据线
        TCS=0;                 //选中触摸屏IC
        delay_us(1);
        TP_Write_Byte(CMD);//发送命令字
        delay_us(6);//ADS7846的转换时间最长为6us
        TCLK=0;                          
        delay_us(1);              
        TCLK=1;                //给1个时钟,清除BUSY
        delay_us(1);   
        TCLK=0;                          
        for(count=0;count<16;count++)//读出16位数据,只有高12位有效
        {                                   
                Num<<=1;          
                TCLK=0;        //下降沿有效                        
                delay_us(1);   
                TCLK=1;
                if(DOUT)Num++;                  
        }         
        Num>>=4;           //只有高12位有效.
        TCS=1;                //释放片选         
        return(Num);   
}



//SPI写数据
//向触摸屏IC写入1byte数据   
//num:要写入的数据
void TP_Write_Byte(u8 num)   
{  
        u8 count=0;   
        for(count=0;count<8;count++)  
        {           
                if(num&0x80)TDIN=1;  
                else TDIN=0;   
                num<<=1;   
                TCLK=0;
                delay_us(1);
                TCLK=1;                //上升沿有效                
        }                                             
}


求高手指教,有点崩溃。。。。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2018-10-30
在线时间
6 小时
 楼主| 发表于 2018-10-30 10:40:02 | 显示全部楼层
走过路过都回复下吧,要不问题要石沉大海了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 14:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表