初级会员

- 积分
- 68
- 金钱
- 68
- 注册时间
- 2021-6-12
- 在线时间
- 19 小时
|
1金钱
怎么读取id都是0,有误大佬求解。用的是探索者,原理图连接NE4
故设备地址宏定义如以下
//使用A6连接到D/CX引脚
#define FSMC_Addr_NT35510_CMD ( ( uint32_t ) ((0x6C000000) &~(1<<(6+1))))
//FSMC_Bank1_NORSRAM用于LCD数据操作的地址
#define FSMC_Addr_NT35510_DATA ( ( uint32_t ) ((0x6C000000) |(1<<(6+1))))
以下是关键代码,
/**
* @brief 往液晶屏发送数据
* @param 无
* @retval 无
*/
void LCD_Write_Data(u16 data)
{
u16 *p = (u16 *)(FSMC_Addr_NT35510_DATA);
*p = data; //液晶屏把data理解成数据
}
/**
* @brief 往液晶屏发送命令
* @param 无
* @retval 无
*/
void LCD_Write_CMD(u16 cmd)
{
u16 *p = (u16 *)(FSMC_Addr_NT35510_CMD);
*p = cmd; //液晶把cmd理解成命令
}
/**
* @brief 从液晶屏读取数据
* @param 无
* @retval 无
*/
u16 LCD_Read_Data(void)
{
u16 *p = (u16 *)(FSMC_Addr_NT35510_DATA);
return *p;
}
/**
* @brief 读取液晶ID
* @param 无
* @retval 无
*/
u32 LCD_Get_ID(void)
{
u16 id ;
LCD_Write_CMD(0xdb);
LCD_Read_Data();
LCD_Read_Data();
//高位
id |= LCD_Read_Data();
id<<= 8;
//低位
id |= LCD_Read_Data();
return id;
}
|
|