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

📄 main1.c

📁 TI 无线传输芯片CC1100用 TMS320C5509 驱动的发送程序
💻 C
字号:
#include <stdio.h>
#include <csl.h>
#include <csl_chip.h>
#include <csl_pll.h>
#include <csl_emif.h>
#include <csl_i2c.h>
#include <csl_dma.h>
#include <csl_irq.h>
#include <csl_gpio.h>

/* Reference start of interrupt vector table   */

/* This symbol is defined in file, vectors.s55 */


int *dstaddr, *Uaddr,*Vaddr;

unsigned int dataconst=40000;
extern void VECSTART(void);

void delay();

interrupt void INT1Isr(void);          /* INT1 interrupt */
interrupt void dmaRcvIsr(void);        /* DMA receive interrupt */

extern DMA_Handle hDMArcv;


void main()
{
  CSL_init();
  CHIP_RSET(XBSR,0x0a01);
  // old_intm=IRQ_globalDisable();

  //chip_init();
  //emif_init();
  i2c_init();
//  dma_init();

  GPIO_RSET(IODIR,0xFF);
  GPIO_RSET(IODATA,0x0);

  IRQ_setVecs((Uint32)(&VECSTART));     /* set IVPD/IVPH to start of interrupt vector table */
     
  IRQ_clear(IRQ_EVT_INT1);              /* clear any pending interrupts for INT1 */
  
  IRQ_plug(IRQ_EVT_INT1,&INT1Isr);      /* place INT1 interrupt service addresses at associate vector */
  
  IRQ_enable(IRQ_EVT_INT1);             /* enable INT1 interrupt in IER2 register */

  IRQ_globalEnable();

  GPIO_RSET(IODATA,0x08);    

  while(1)
  {;} 
} 

interrupt void INT1Isr(void)
{
   Uint16 temp;
   Uint16 intflag;
  Uint16 i;
   GPIO_RSET(IODATA,0x0);    //该中断是FIFO的读中断,停止对 FIFO的写操作
   intflag = CHIP_FGET(IFR1,INT1)|0x0001;
  if(intflag==0x0001)
   {
 //  DMA_start(hDMArcv);                /* enable DMA receiver*/
//	 while(!(DMA_FGETH(hDMArcv,DMACSR,BLOCK)))  //one block(one frame of image) has transferred
	 {;}
 // 	 DMA_stop(hDMArcv);

   dstaddr=(int*)0x28000;
   Uaddr=(int*)0x310000;
   Vaddr=(int*)0x320000;
   for(i=0;i<64584;i++)
   {
    temp = dstaddr[i];
	dstaddr[i] = (temp>>8);
   }
 
   
   	
	 IRQ_enable(IRQ_EVT_INT1);
     IRQ_globalEnable();
	// IRQ_globalRestore(old_intm);
  	 GPIO_RSET(IODATA,0x08);  
     return;
   }
   else
   {  
    IRQ_globalEnable();
    GPIO_RSET(IODATA,0x08); 
     return;
   }
}




void delay()
{
	Uint32 j = 0,k = 0;
	for(j = 0;j<0x8;j++)
	{
		for(k= 0;k<0x0f;k++)
		{}
	}
}




⌨️ 快捷键说明

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