打印

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

[复制链接]
4823|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liubo1987|  楼主 | 2010-8-7 17:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
liubo1987|  楼主 | 2010-8-7 17:24 | 只看该作者
没人吗,主要是不想用DDS芯片和FPGA,望高手指点

使用特权

评论回复
板凳
liubo1987|  楼主 | 2010-8-7 20:07 | 只看该作者
完全不给面子啊

使用特权

评论回复
地板
liubo1987|  楼主 | 2010-8-7 20:07 | 只看该作者
那位牛人啊

使用特权

评论回复
5
liubo1987|  楼主 | 2010-8-7 20:07 | 只看该作者
aaaaa

使用特权

评论回复
6
liubo1987|  楼主 | 2010-8-7 20:08 | 只看该作者
难道就没有牛人吗

使用特权

评论回复
7
p1838222| | 2010-8-8 10:37 | 只看该作者
你把430的工作频率设高就可以啦

使用特权

评论回复
8
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);
}

使用特权

评论回复
9
andy_gao| | 2010-8-8 15:33 | 只看该作者
4系列是不是最高只能到8MHz?
貌似430的片子都有mclk/sclk输出端的,将频率分频后输出,成不?

使用特权

评论回复
10
hd328329346| | 2010-8-8 17:26 | 只看该作者
我来也~!

使用特权

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

本版积分规则

0

主题

7

帖子

1

粉丝