我用stm32控制240128液晶(5V),总是出乱码,人家液晶厂商的工程师说stm32主频太高,
让我加延时。为了和液晶电平吻合,我还使用了74LVC4245逻辑电平转换芯片,液晶接口的电压,我用万用表测过,是5V。我把stm32降频到24MHz,多加延时还是有很多问题,比如上电乱码,写不进去ASCII码,有时候光标的形状都不对,每次断电再上电,液晶屏反应都不一样。他们说一般用51,或者主频低一点的MCU。
我现在的需求是,需要从DSP的串口里读数,然后在240128液晶上画上坐标轴,并画图。我考虑过51,可是貌似不能硬件仿真,有些能硬件仿真,可是要占用串口,我知道的51核的都是只有一个串口比如ADUC845,这个串口我要从DSP里接收数据啊。
小弟恳请各位高手指点一二
谢谢各位,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
还有定位坐标的问题,在新帖子里和大家探讨。
2、12864这么慢移植到STM32上面都可以,你这个估计也不是很难,慢慢琢磨一下呗,呵呵
您看我这对吗?
由于液晶是5V逻辑电平,我用了74LVC4245逻辑电平转换芯片
//写数据引脚配置函数
void Write_Data_Config(void)
{
u16 i;
GPIO_ResetBits(GPIOC, GPIO_Pin_4);//DIR1=0
GPIO_ResetBits(GPIOC, GPIO_Pin_3);//OE1=0
GPIO_ResetBits(GPIOB, GPIO_Pin_12);//DIR2=0
GPIO_ResetBits(GPIOB, GPIO_Pin_13);//OE2=0//以上四行是对74LVC4245的引脚控制
for(i=0;i<2400;i++);
GPIO_ResetBits(GPIOB, GPIO_Pin_15);//C/D=0
for(i=0;i<240;i++);
GPIO_ResetBits(GPIOC, GPIO_Pin_6);//CE=0
GPIO_SetBits(GPIOC, GPIO_Pin_7);//RD=1
GPIO_ResetBits(GPIOC, GPIO_Pin_8);//WR=0
for(i=0;i<240;i++);
}
//写入一个数据
void LcmWriteData(u8 uData)
{
u8 RealData;
u16 i;
CheckRWCD();
RealData=Reverse(uData);
RealData|=0x0000;
Write_Data_Config();
GPIO_Write(GPIOA, RealData);
for(i=0;i<240;i++);
GPIO_SetBits(GPIOC, GPIO_Pin_8);//WR=1
GPIO_SetBits(GPIOC, GPIO_Pin_6);//CE=1
for(i=0;i<240;i++);
}
本人对时序也不是很明白,您看我这个时序对吗?谢谢您!
---------------------------------
麻烦您看看我这时序对吗?我自己也不是十分明白,谢谢您
一周热门 更多>