新手上路
- 积分
- 46
- 金钱
- 46
- 注册时间
- 2014-8-21
- 在线时间
- 0 小时
|

楼主 |
发表于 2014-8-28 16:14:47
|
显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥哥,我都出DeviceCode=6783;
程序改动是:
void DataToIO(uint16_t val)
{
uint16_t dat;
dat = GPIO_ReadPort(HW_GPIOB); // DBL ????????????32????????
dat = (dat&0xFF00) | (val&0xFF);
GPIO_WritePort(HW_GPIOB, dat);
dat = GPIO_ReadPort(HW_GPIOA); // DBH ????????????32????????
dat = (dat&0xFF00) | ((val>>8)&0xFF);
GPIO_WritePort(HW_GPIOA, dat);
}
#define LCD_WR_DATA(data)\
{ \
LCD_RS_SET;\
LCD_CS_CLR;\
DataToIO(data);\
LCD_WR_CLR;\
LCD_WR_SET;\
LCD_CS_SET;\
}
void LCD_WR_REG(uint16_t data) //rs=0:???ü??
{
LCD_RS_CLR;//?????·
LCD_CS_CLR;
DataToIO(data);
LCD_WR_CLR;
LCD_WR_SET;
LCD_CS_SET;
}
uint16_t LCD_ReadReg(uint8_t LCD_Reg)
{
uint16_t t,i,datH,datL;
LCD_WR_REG(LCD_Reg); //???????????????÷??
for(i=0;i<7;i++)
{
GPIO_QuickInit(HW_GPIOB,i,kGPIO_Mode_IPU);
GPIO_WriteBit(HW_GPIOB,i,1);
}
for(i=8;i<16;i++)
{
GPIO_QuickInit(HW_GPIOA,i,kGPIO_Mode_IPU);
GPIO_WriteBit(HW_GPIOA,i,1);
}
LCD_RS_SET;
LCD_CS_CLR;
//????????(???????÷?±,?????è????2??)
LCD_RD_CLR;
DelayUs(5);
LCD_RD_SET;
datH =  TA-> DIR; /**<  ort Data Input Register, offset: 0x10 */
datL =  TB-> DIR; /**<  ort Data Input Register, offset: 0x10 */
t = ((datH<<8)&0xFF00) | (datL&0x00FF);
LCD_CS_SET;
for(i=0;i<7;i++)
{
GPIO_QuickInit(HW_GPIOB,i,kGPIO_Mode_OPP);
GPIO_WriteBit(HW_GPIOB,i,1);
}
for(i=8;i<16;i++)
{
GPIO_QuickInit(HW_GPIOA,i,kGPIO_Mode_OPP);
GPIO_WriteBit(HW_GPIOA,i,1);
}
return t;
}
求救啊~~~ |
|