网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: TI德州中文网 >> 技术文库 >> C5000文章 >> TMS320C54x >> 正文
  MSP430F149 + TMS320VC5402 参考设计之DSP源码           ★★★ 【字体:
MSP430F149 + TMS320VC5402 参考设计之DSP源码
作者:TIchines…    文章来源:德州中文网    点击数:    更新时间:2006-12-1    

本文是依照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] ++;

}




}

欢迎点击进入:"61IC中国电子在线"官方网站     文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    基于DSP控制的三电平变频器的
    基于DSP+μC/OS-Ⅱ的励磁系
    基于TMS320F2812的视频图像采
    一种长序列小波变换快速算法
    基于DSP的图像旋转算法数据调
    基于DSP的高动态GPS接收机关
    DSP软件向桌面和嵌入式系统挑
    基于DSP的液晶模块的显示原理
    DSP和FPGA在汽车电子中的广泛
    DSP与慢速设备接口的实现
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:TC 湘ICP备06016957号