⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 b1553.c

📁 应用小程序
💻 C
字号:

/* includes */

#include "vxWorks.h"
#include "stdio.h"
#include "stdlib.h"
#include "semLib.h"
#include "taskLib.h"
#include "iolib.h"
#include "hostLib.h"
#include "inetLib.h"
#include "socket.h"
#include "netShow.h"
#include  "in.h"
#include  "netinet/ip.h"
#include  "intLib.h"
#include  "arch/i86/ivI86.h"
#include   "config.h"



#define INCLUDE_SYSCLK_INT
#define STACK_SIZE	40000

#define drambase 0xd0000
#define dramsem  0xd4000
#define dram(t)  (drambase+(0x200*t))
#define INTR 0Xd3ffe
#define sem(t)   (dramsem+2*t)


unsigned short aa[300];
unsigned short bb[300];

int   tidramtest;
void dramtest();

STATUS progStart(void)
{   
        
        tidramtest = taskSpawn ("tdramtest", 200, 0, STACK_SIZE,
        (FUNCPTR)dramtest,0,0,0,0,0,0,0,0,0,0);
        
        return(OK);
}

void dramtest()
{
	unsigned char m;
        int k,l;
        unsigned short volatile  *semp;
        int j;
	j=0;
        l=0;
        
        
        taskDelay(sysClkRateGet()*4);
        
       
  FOREVER{
	     unsigned short volatile  *dual = (unsigned short volatile *) dram(j);
             unsigned short volatile *intright= (unsigned short volatile *) INTR;

             m=j/4;
             semp=(unsigned short volatile *) sem(m);

	      for(k=0;k<256;k++)
	      aa[k]=k+j+1000*(j/4+1);
               for(k=0;k<256;k++)
	      {*(dual+k)=aa[k];}
	     for(k=0;k<256;k++)
	       {bb[k]=*(dual+k);}
	     printf("%d: %x : \t",j,dual); 

             if(j==15||j==31)
             {
	     *intright=12345;
             printf("Right int set, %x %d\n\n",intright,*intright);
             taskDelay(sysClkRateGet()*4);
             };
             

             *semp=0;
             printf("%x: %x : \n",semp,*semp);
             for(k=0;k<256;k++)
	       { /* printf("%d %x ",bb[k],(unsigned short *)(dual+k));*/ 
                   printf("%d ",*(dual+k));}
	     printf("\n\n");
            /*for(k=0;k<32;k++)
	       { printf("%d %x ",bb[k],(unsigned short *)(dual+k));
                   printf("%d ",bb[k]);}
	    printf("\n\n");*/ 
	     j=j+1;
	     if(j==32)
	       {
                printf("time  %d \n",l); 
	       	j=0;
	        l=l+1;
                taskDelay(sysClkRateGet()*4);
                }
             
             
             
	     taskDelay(sysClkRateGet()*4);
	    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -