网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> C5000文章 >> C54X系列 >> 文章正文
  MSP430F149 + TMS320VC5402 参考设计之DSP源码         ★★★ 【字体:
MSP430F149 + TMS320VC5402 参考设计之DSP源码
作者:admin    文章来源:本站原创    点击数:    更新时间:2004-7-27    

本文是依照TI提供的MSP430与DSP通信方法一文,对其加以改进设计而成,MSP430使用MSP430F149,DSP采用TMS320VC5402.

MSP430F149 + TMS320VC5402 参考设计 之 DSP 源码---仅供参考。

#include <std.h>
#include <tsk.h>
#include <sem.h>
#include <prd.h>
#include <swi.h>
#include "regs54xx.h"

#define DATA_IN ((int*) 0x0061)

unsigned char i = 0,j=0;
unsigned int flag = 0 ;
unsigned int flag2 = 5;
//extern unsigned int flag2;
extern unsigned int asm_func(unsigned int i);
void HPI_DO(void);
void main(void)
{

// IMR = 0x020a;
asm(" ssbx INTM ");
asm(" stm #280h,SP ");
asm(" ssbx OVM ");
asm(" ssbx SXM ");
asm(" stm #0ffffh,IFR ");
asm(" stm #020ah,IMR ");

asm(" rsbx INTM ");

flag = asm_func(50);
flag2 = flag;

while(1){
if(flag == 1)
{
flag = 0;
HPI_DO();
};
}
}


interrupt void timer0(void) /* PRD0 handle function */
{

i = j = 0;
}


interrupt void int_1(void)
{
i = j = 0;
}


interrupt void hpi(void)
{
flag = 1;
}


void HPI_DO(void)
{
unsigned int i=0;
DATA_IN[2] = 0;

for(i = 0; i<10000;i++)
{
DATA_IN[2] = DATA_IN[2]+DATA_IN[0]*DATA_IN[1];
}
HPIC = 0x08;
}

MSP430F149 + TMS320VC5402 参考设计 之 MSP430 源码---仅供参考。

#include "MSP430x13x.h" // Standard Definition Control Register

#define INIT_HPI 0x01
#define CLR_HINT 0x09
#define SET_DSPINT 0x05


#define HINT BIT7
#define HRDY BIT6
#define HDS1 BIT5
#define HPIENA BIT4
#define CNT1 BIT3
#define CNT0 BIT2
#define HBIL BIT1
#define HRW BIT0




void Init(void); // Initialization of System/Control Registers
void Write_HPIC(unsigned char i);
void Write_HPIA(unsigned int i);
void Write_HPID(unsigned int i);
unsigned int Read_HPID(void);

unsigned int data_out[16]={0x0001,0x0002,0x0003,0x0004};
unsigned char message[20]="Registers\r\n";

unsigned int data_r;
unsigned char flag = 0x00;

void delay(unsigned int);
void main(void)
{


Init(); // Initialization



data_out[0]=0;
data_out[1]=2;

Write_HPIC(INIT_HPI);

while(1)
{




//********* Init data address(0x0060) to HPI **********
Write_HPIA(0x0060);

//********* write data1 to HPI **********
Write_HPID(data_out[0]);
Write_HPID(data_out[1]);
//************** Write data2 to HPI **********




//************ INTERRPUT HPI ************
Write_HPIC(SET_DSPINT);

//************ ************
do{
flag = P4IN >> 7;
flag = flag & 0x01;
}while(flag);

//****** CLEAR HPI INTERRUPT ************
Write_HPIC(CLR_HINT);



//*********** SET ADDRESS ****************
Write_HPIA(0x0063);

//************ READ DATA FROM HPI ************
data_r = Read_HPID();
data_out[0] ++;

}




}

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章: 没有了

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    TMS320VC5402的HPI与51单片机…
    TMS320VC5402 HPI接口与PCI总…
    TMS320VC5402(DSK)Flash烧写…
    TMS320VC5402(DSK)Flash烧写…
    TMS320VC5402(DSK)缓冲串口应…
    TMS320VC5402(DSK)加减乘实验…
    TMS320VC5402(DSK加减乘实验…
    TMS320VC5402(DSK加减乘实验…
    TMS320VC5402(DSK)数据存储实…
    TMS320VC5402(DSK)数据存储实…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号