本帖最后由 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;
} | } |