最近写了个12864用stm32驱动的读取数据函数程序,不知道正...

2019-07-14 23:43发布

现在问题是,能正常显示字符串……但是,打不出点,因为我想画出波形……有人写过打点函数吗?我看网上说,打点需要读取数据,所以我写了这个读取数据函数,不知道对不对:
u8 LCD12684_Rdat(void)
{
        u8 temp;
        while(LCD12864_busy()); //忙检测
        LCD_RS(1);      
        LCD_RW(1);
        LCD_EN(0);
        Delay_Ms(1);
        temp = GPIO_ReadInputDataBit(LCD12864_GPIO,LCD_GPIO_DAT);         
        Delay_Ms(1);
        LCD_EN(1);
        Delay_Ms(1);
        LCD_EN(0);
        return temp;
}


下面的事打点函数:

void LCD_DraPoint(u8 x,u8 y)
{
        u8 x_byte,x_bit;
        u8 y_byte,y_bit;
        u8 tmph,tmp1;
        
        x &= 0x7f;
        y &= 0x3f;
        x_byte = x/16;
        x_bit = x&0x0f;
        y_byte = y/32;
        y_bit = y&0x3f;
        
        LCD12684_Wcmd(0x34);
        LCD12684_Wcmd(0x34);
               
        LCD12684_Wcmd(0x80+y_bit);
        LCD12684_Wcmd(0x80+x_byte+8*y_byte);

        LCD12684_Rdat();
        tmph = LCD12684_Rdat();
        tmp1 = LCD12684_Rdat();

        LCD12684_Wcmd(0x80+y_bit);
        LCD12684_Wcmd(0x80+x_byte+8*y_byte);

        if(x_bit<8)
        {
                LCD12684_Wdat(tmph|(0x01<<(7-x_bit)));
                LCD12684_Wdat(tmp1);
        }
        else
        {
                LCD12684_Wdat(tmph);
                LCD12684_Wdat(tmp1|(0x01<<(15-x_bit)));
        }

        LCD12684_Wcmd(0x36);
        LCD12684_Wcmd(0x30);
}


执行打点函数时,
在屏上打点没有效果

相反的,屏上出现了密密麻麻的没有规律的点

不知道是什么原因……
希望有人能指导一下!!!

拜托了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。