登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

2407A求助

作者:qq_xiaoxin 栏目:DSP技术
2407A求助
我在用2407A调试LCD的时候一老是不正确(有时候对)我单步执行看程序的时候就在,
for(i=100;i<480;i++)  

  for(j=100;j<800;j++)
  {      
  x=i;
  y=j;
  ink=(unsigned LONG int )(x*0x0400)+y;
  first=(unsigned int)((ink&0x070000)>>8)+(unsigned int)0x0aa;
  second=((unsigned int )(ink&0xffff));
  } 这里出问题,有时候可以进第2个for,有时候x,y的值乱变我把所有程序都贴出来,请大家帮我看看

2楼: >>参与讨论
qq_xiaoxin
c程序
#include "f2407.h"      
//#define first port1000  
//#define second port1008   
#define first port1000
#define second port1008
#define uCHAR unsigned CHAR

//#define fore 0x011
//#define BACK 0x044
ioport unsigned port0ffff;
ioport unsigned port1000;
ioport unsigned port1008;
void inline disable()
{
asm( " setc INTM ");
}
void inline enable()
{
asm(" clrc INTM ");
}
main()
{       
unsigned LONG  int ink;
unsigned int  x,y=0;  
//unsigned  CHAR x,y   ;    
uCHAR i,j;
//disable();
asm(" clrc INTM ");

asm( " clrc SXM ");
asm( " clrc OVM ");
asm( " clrc CNF ");
*SCSR1=0X86FE;
*WDCR=0X0E8;
*IMR=0X0000;
*IFR=0X0FFFF;
*MCRA=*MCRA&0X00FF;
*PBDATDIR=(*PBDATDIR|0X0FfFF)&0X0FF0f;
*PBDATDIR=(*PBDATDIR|0X0FfFF)&0X0FF00;
*PBDATDIR=(*PBDATDIR|0X0FfFF)&0X0FF04;
*MCRC=*MCRC&0X0FFE1;
*PEDATDIR=*PEDATDIR|0X0FF00;
//*PEDATDIR=0X0FF02;
//while(1);    
x=0;  
//y=0;
for(i=100;i<480;i++)  

  for(j=100;j<800;j++)
  {      
  x=i;
  y=j;
  ink=(unsigned LONG int )(x*0x0400)+y;
  first=(unsigned int)((ink&0x070000)>>8)+(unsigned int)0x0aa;
  second=((unsigned int )(ink&0xffff));
  }

while(1);
//{
//;
//}
}
//KEY INT PROCEDURE
void interrupt key()
{
int k;
disable();
// START();
enable();
}
void interrupt nothing()
{
int i;
i=0;
return;
}

3楼: >>参与讨论
qq_xiaoxin
CMD文件
-stack 512
MEMORY
{
  PAGE 0:    /* Program MEMORY */
    VECS:           org=00000h,   len=00040h   /* internal FLASH */
    FLASH:          org=0100h,   len=07F00h   /* internal FLASH */
    //EXTPROG:        org=08800h,   len=07000h   /* external SRAM  */

  PAGE 1:    /* Data MEMORY */
    B2:             org=00060h,   len=00020h   /* internal DARAM */
    B0:             org=00200h,   len=00100h   /* internal DARAM */
    B1:             org=00300h,   len=00100h   /* internal DARAM */
    SARAM:          org=00800h,   len=00800h   /* internal SARAM */
    EXTDATA:        org=08000h,   len=08000h   /* external SRAM  */
}

SECTIONS
{
/* Sections generated by the C-compiler */
        .text:  >   FLASH    PAGE 0   /* initialized */
       .cinit:  >   FLASH    PAGE 0   /* initialized */
       .const:  >   FLASH    PAGE 0   /* initialized */
      .SWITCH:  >   FLASH    PAGE 0   /* initialized */
         .bss:  >   EXTDATA       PAGE 1   /* uninitialized */
       .stack:  >   SARAM      PAGE 1   /* uninitialized */
      .sysmem:  >   B1         PAGE 1   /* uninitialized */

/* Sections declared by the user */
      vectors:  >   VECS       PAGE 0   /* initialized */
}



4楼: >>参与讨论
qq_xiaoxin
还有在写I/O口的时候
在写I/O口的时候也是有时候对(用示波器看)我怀疑是CCS,还是CMD有问题?只要X,Y(I,J)值是对的,LCD也就正常

5楼: >>参与讨论
qq_xiaoxin
还有一个问题
有时候程序改一点点(比如变量初值)都会使程序跳不高主程序(方针的时候)
我是初学的请大家帮帮忙

6楼: >>参与讨论
zgl7903
个人见解
首先把对端口IO的操作改为对内部RAM的操作,软件跟踪几次 确保数据的无误性 否则先修改之
其次 加长你的IO口访问周期,以达到LCD的访问时序要求.

7楼: >>参与讨论
qq_xiaoxin
你好
zgl7903,你QQ是多少我还问你问题

8楼: >>参与讨论
zgl7903
个人见解
不好意思,我个人对2407并不熟悉,我只是提醒你一种方法,具体问题还得你老兄自己努力。

9楼: >>参与讨论
sjnh
uchar i,j;
uchar i,j;
你的uchar是几位的,如果是8位会出问题

10楼: >>参与讨论
qq_xiaoxin
不是
不是8位是16位的

11楼: >>参与讨论
qq_xiaoxin
请大家帮忙看看,谢谢
 
12楼: >>参与讨论
qq_xiaoxin
怎么?
怎么?

13楼: >>参与讨论
qq_xiaoxin
好了
重新找了个计算机,没有问题了郁闷

参与讨论
昵称:
讨论内容:
 
 
相关帖子
初学dsp,那位前辈能介绍些资料和给些建议,不胜感激!!
2407 C语言编程问题.
听说有CCS3.0 for C6×,大侠有用过的吗
DSP,你为什么这么容易坏?
请教在OMAP5912(OSK)上能否实现MPEG-4编码?
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号