打印
[DSP编程]

DSP5402_MCBSP_ADC0809分享了

[复制链接]
1177|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
七颗咖啡豆|  楼主 | 2014-11-24 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*-----------------------------------------
硬件接线
CS0<-CLKX0   
WR0<-CLKR0
RD0<-FSX0
INTR0->FSR0
----------------------------------------*/
#ifndef _MCBSP_ADC0809_h_
#define _MCBSP_ADC0809_h_
#include "mcbsp54.h"
void  Delay_MS(unsigned int   ms)//5ms
{
   unsigned int i,j;
   for(i=0;i<ms;i++)
      {
       for(j=0;j<80;j++) {  ; }
      }
}
//
int ADC_V()//0XBFFF地址线直接硬件配置
{

int intr1 = 1;
int DATA = 0, *P;
MCBSP_RX_RESET(0);
MCBSP_TX_RESET(0);//McBSP working in restoration
MCBSP_SUBREG_WRITE(0,PCR_SUBADDR,0x3b00);// cs=0 wr=0 rd=0
Delay_MS(4);
intr1 = 1 ;
MCBSP_SUBREG_WRITE(0,PCR_SUBADDR,0x3b00); //cs=0 wr=0 rd=0
Delay_MS(4);
  MCBSP_SUBREG_BITWRITE(0,PCR_SUBADDR,CLKRP,CLKRP_SZ,1);
//MCBSP_SUBREG_WRITE(0,PCR_SUBADDR,0x3b01);//cs=0 wr=1  rd=0
Delay_MS(4);
while(1==intr1)//Waiting for conversion to complete
{
  MCBSP_SUBREG_BITREAD(0,PCR_SUBADDR,FSRP,1);
  intr1=FSRP;
}
Delay_MS(4);
MCBSP_SUBREG_BITWRITE(0,PCR_SUBADDR,CLKXP,CLKXP_SZ,1);
//MCBSP_SUBREG_WRITE(0,PCR_SUBADDR,0x3b03); //cs=1 wr=1 rd=0
Delay_MS(4);
MCBSP_SUBREG_BITWRITE(0,PCR_SUBADDR,CLKXP,CLKXP_SZ,0);
//MCBSP_SUBREG_WRITE(0,PCR_SUBADDR,0x3b01); //cs=0 wr=1 rd=0
P=(int*)0xbFFF;
     DATA = *P ;
     DATA = DATA & 0X00FF ;
     Delay_MS(30);
     MCBSP_SUBREG_BITWRITE(0,PCR_SUBADDR,FSXP,FSXP_SZ,1);
//MCBSP_SUBREG_WRITE(0,PCR_SUBADDR,0x3b09); //cs=0 wr=1 rd=1
Delay_MS(4);
MCBSP_SUBREG_BITWRITE(0,PCR_SUBADDR,CLKXP,CLKXP_SZ,1);
//MCBSP_SUBREG_WRITE(0,PCR_SUBADDR,0x3b0b); //cs=1 wr=1 rd=1
Delay_MS(4);
return DATA;
}
int ADC_I()//7FFF,地址线直接硬件配置
{

int intr1 = 1;
int DATA = 0, *P;
MCBSP_RX_RESET(1);
MCBSP_TX_RESET(1);//McBSP working in restoration
MCBSP_SUBREG_WRITE(1,PCR_SUBADDR,0x3b00);//stop ADC cs=0 wr=0 rd=0
Delay_MS(4);
intr1 = 1 ;
MCBSP_SUBREG_WRITE(1,PCR_SUBADDR,0x3b00); //cs=0 wr=0 rd=0
Delay_MS(4);
MCBSP_SUBREG_WRITE(1,PCR_SUBADDR,0x3b01);//cs=0 wr=1  rd=0
Delay_MS(4);
while(1==intr1)//Waiting for conversion to complete
{
  MCBSP_SUBREG_BITREAD(1,PCR_SUBADDR,FSRP,1);
  intr1=FSRP;
}
Delay_MS(4);
MCBSP_SUBREG_WRITE(1,PCR_SUBADDR,0x3b03); //cs=1 wr=1 rd=0
Delay_MS(4);
MCBSP_SUBREG_WRITE(1,PCR_SUBADDR,0x3b01); //cs=0 wr=1 rd=0
P=(int*)0x7FFF;
        DATA = *P ;
     DATA = DATA & 0X00FF ;
     Delay_MS(30);
MCBSP_SUBREG_WRITE(1,PCR_SUBADDR,0x3b09); //cs=0 wr=1 rd=1
Delay_MS(4);
MCBSP_SUBREG_WRITE(1,PCR_SUBADDR,0x3b0b); //cs=1 wr=1 rd=1
Delay_MS(4);
return DATA;
}

评分
参与人数 1威望 +6 收起 理由
zhangmangui + 6 很给力!

相关帖子

沙发
七颗咖啡豆|  楼主 | 2014-11-24 16:11 | 只看该作者
弱弱的并行程序,把mcbsp当GPIO用的。 硬件调试通过了的
串行还在研究。

使用特权

评论回复
板凳
zhangmangui| | 2014-11-24 22:04 | 只看该作者
在5509上将McBSP当做IO口用过    只是有些只能输出或只能输入  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

508

帖子

4

粉丝