急,怎么直接从MSP430输出2M的方波,谢谢!

[复制链接]
 楼主| liubo1987 发表于 2010-8-7 17:20 | 显示全部楼层 |阅读模式
本人用的IAR,听说默认的机器周期只有1us,不知能否对MSP430F449设置,使他输出频率为2M的方波信号,本人菜鸟新手,望各位前辈指点,谢谢,在线等!!
求设置程序
 楼主| liubo1987 发表于 2010-8-7 17:24 | 显示全部楼层
没人吗,主要是不想用DDS芯片和FPGA,望高手指点
 楼主| liubo1987 发表于 2010-8-7 20:07 | 显示全部楼层
完全不给面子啊
 楼主| liubo1987 发表于 2010-8-7 20:07 | 显示全部楼层
那位牛人啊
 楼主| liubo1987 发表于 2010-8-7 20:07 | 显示全部楼层
aaaaa
 楼主| liubo1987 发表于 2010-8-7 20:08 | 显示全部楼层
难道就没有牛人吗
p1838222 发表于 2010-8-8 10:37 | 显示全部楼层
你把430的工作频率设高就可以啦
chenhuizai210 发表于 2010-8-8 15:23 | 显示全部楼层
这个啊,说到底简单啊。随便就能说出几个方法来。
1、你用定时器,定时时间为1/1000000=1us,打开定时器中断,每进一次中断就取反一次输出,就行了。
2、推荐用430自带的PWM输出功能。需要有8M的外部高频时钟源。PWM占空比设为50%就可以了。
=========================================
推荐用第二种,因为自带的定时器A的PWM功能,其输出是在后台执行的,主函数中只要初始化就行了。
参考代码:
void main()
{
  unsigned int i;
  BCSCTL1&=~XT2OFF;             //开启高频振荡器8M
  do
  {
    IFG1 &=~OFIFG;
    for(i=0xff;i>0;i--);
  }
  while((IFG1 & OFIFG)!=0);     //消除振荡器失效标志
  BCSCTL2|=SELS;               //选择AMCLK时钟的频率为8M;
  TACTL=TASSEL1+TACLR;          //选择PWM产生的时钟源为AMCLK
  CCTL2=OUTMOD_7;      
  CCR0=4;                    //设置输出频率为8MHz/4=2MHz
  CCR2=2;                 //设置占空比   
  P1DIR|=0X08;
  P1SEL|=0X08;
  TACTL|=MC0;
while(1);
}
andy_gao 发表于 2010-8-8 15:33 | 显示全部楼层
4系列是不是最高只能到8MHz?
貌似430的片子都有mclk/sclk输出端的,将频率分频后输出,成不?
hd328329346 发表于 2010-8-8 17:26 | 显示全部楼层
我来也~!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

7

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

0

主题

7

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部