[讨论] 关于320F28035实现并口的问题?<时钟问题续集>

huwei_harry   2012-7-13 13:58 楼主

    我用这个28035运行其他的程序能够运行,应该说明系统时钟应该能够支持系统的运行。

但是我现在在做一个28035+TOPWAY 的液晶屏的显示就是显示不出来。

   以前我在MSP430F149上已经实现了。这次只是换到DSP28035上就不行了。时钟12M而已。

我想想就只有里面的并口问题了。

    单片机上有8位的P1,P2,或者P3。什么。。。

  28035里我用的GPIO0,GPIO1,GPIO2,GPIO3,GPIO10,GPIO40,GPIO,4,GPIO5来作为D7---D0的八位口。

程序为:

   void LcdDataBus(uchar Command)
{
  if((Command&0x01)!=0)
     { D0=1;}
  else{D0=0;}
  if((Command&0x02)!=0)
     { D1=1;}
   else{D1=0;}
  if((Command&0x04)!=0)
     { D2=1;}
   else{D2=0;}
  if((Command&0x08)!=0)
     { D3=1;}
   else{D3=0;}
  if((Command&0x10)!=0)
     { D4=1;}
   else{D4=0;}
  if((Command&0x20)!=0)
     { D5=1;}
   else{D5=0;}
  if((Command&0x40)!=0)
     { D6=1;}
   else{D6=0;}
  if((Command&0x80)!=0)
     { D7=1;}
     else{D7=0;}
}

 

 

其他程序没有变,,

不知道为什么?

 

有大神指导下吗啊?或者谁做过不吝赐教!

回复评论 (5)

1、F28035的时钟可不象其它MCU那样,内外时钟相差很多。而LCD的速度一般都较低。
        所以,看看时钟是不是太快了。
2、C语言好多好的语句可以选择,根据不同情况选择适应的语句以达到高的执行效率。只使用if……else是不妥的。
点赞  2012-7-14 23:58

回复 沙发 dontium 的帖子

呵呵,受教

[ 本帖最后由 安_然 于 2012-7-18 09:42 编辑 ]
工程 = 数学+物理+经济
点赞  2012-7-18 09:40
除了dontium说的。

楼主也请注意控制GPIO的时候请用GPIOSET和GPIOCLEAR寄存器,不要用GPIODATA,以免出现问题。
点赞  2012-7-18 10:41

谢谢

嗯,谢谢指导,问题解决了,主要是GPIO的有一个输出口的电平在置1的下一个时钟周期却莫名地反转为0了,可悲的是我把它作为了控制信号,所以不能显示了,呵呵。还是感谢你啊!
点赞  2012-7-22 16:11
汗一下先
点赞  2012-7-23 16:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复