打印

dsp新手请教 GPIO操作

[复制链接]
1726|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
XLDZZ|  楼主 | 2011-2-8 17:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 XLDZZ 于 2011-2-8 17:27 编辑

小弟正在做个东西 本来想用单片机来做
但是单片机的处理速度不够 不能计算大密度的数据
后来改用DSP(C2000) 但是在学习DSP过程中遇到了些问题
故前来请教各位师傅

代码如下:编译顺利通过,CMD文件采用开发板提供的(不会有问题的)
原来的想法是把PWM6这个PIN 先拉低延时后在拉高
但是程序是下载到DSP中了 但是PWM6这条PIN一直死高
好像没什么反应
MCRA     我已经设置成普通IO了。
PBDATDIR 方向寄存器我已设置为输出
不知道错在哪了 还请高手指点



#include    "f2407_c.h"
void delay();
void intial()
{
asm(" setc SXM ");//允许符号扩展
asm(" clrc OVM ");//结果正常益处
asm(" clrc CNF ");//BO块映射到数据区
asm(" setc INTM");//禁止所有中断
*SCSR1=0x4002;//4Xfin 关EVA,EVB IDLE1 输出WDCLK
*SCSR2=0x6f;//至少11个周期 软件禁止看门狗 XMIF正常驱动 禁止引导RON MP模式 SRAM被映射到程序和数据区
*WDCR=0x0A8;//禁止看门狗
*WDKEY=0x5555;
*WDKEY=0xaaaa;
}

main(  )
{
intial();
while(1)
{
asm(" setc XF ");
delay();
asm(" clrc XF ");
delay();
*MCRA=0xf7ff;//PWM6为普通IO 其他专用
*PBDATDIR=0x400 ;   //PWM6为输出,其他输入,初始为0
delay();
     while(1)
    {
     *PBDATDIR=0x400;     
      delay();
        *PBDATDIR=0x408;
         delay();
       }
}
}
void delay()
{unsigned int i,j;
for(i=0;i<=1000;i++)
   {
   for (j=0;j<=200;j++)
   ;
  }
}
interrupt void nothing()
{
return;
}
}

相关帖子

沙发
angelguard| | 2011-2-11 16:11 | 只看该作者
关于IO口电平不正确的问题,很多不是软件上的问题,而是外围硬件上的问题,比如说你这个IO口接到了电源上,就算你把IO口设为了低电平,但是电源还会把这个IO口拉高。
程序我没看啊,就先这说几句。

使用特权

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

本版积分规则

64

主题

182

帖子

0

粉丝