TA的每日心情 | 奋斗 2013-1-5 09:15 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
|
发表于 2012-12-25 14:54:03
|
显示全部楼层
powerdruy 发表于 2012-12-25 14:30
读时序是不是没调好
能说得再具体一些嘛?以下是我读部分的代码
/****************************************************/
/* 函数功能:从ILI9320中读数据 */
/* 入口参数;数据 */
/****************************************************/
uint16_t Lcd_Read_Data(void)
{
unsigned short val,val1,val2;
Set_Rs;
Set_nWr;
Clr_nRd;
GPIOB->MODER&=0xFFFF0000;
GPIOC->MODER&=0xFFFF0000;
val1 = GPIOB->IDR;
val2 = GPIOC->IDR;
val=((val1)&(0x00FF))+((val2<<8)&(0xFF00));
GPIOB->MODER|=0x00005555; //输入完了后从新设置为输出
GPIOC->MODER|=0x00005555;
Set_nRd;
return val;
}
/******************************************************/
/* 函数功能读寄存器里的数据 */
/* 入口参数;com2:寄存器号 */
/******************************************************/
uint16_t Lcd_Read_Com_Data(uint16_t com2)
{
uint16_t value;
Clr_Cs;
Lcd_Write_Com(com2);
value=Lcd_Read_Data();
Set_Cs;
return value;
}
主函数部分:
uint16_t id1=0;
uint16_t id2=0;
int main(void)
{
Device_Init();
Lcd_Write_Com_Data(0x0000,0x0001);
delay_ms(50);
id1=Lcd_Read_Com_Data(0x0000);
delay_ms(50);
Lcd_Write_Com_Data(0x0053,0x013F);
delay_ms(50);
id2=Lcd_Read_Com_Data(0x0053);
delay_ms(50);
main_init(); //TFT初始化
delay_ms(50);
while (1)
{
}
} |
|