从MSP430输出2M的方波

[复制链接]
 楼主| dengdc 发表于 2011-7-14 08:49 | 显示全部楼层 |阅读模式
用的IAR,听说默认的机器周期只有1us,不知能否对MSP430F449设置,使他输出频率为2M的方波信号
heweibig 发表于 2011-7-14 09:14 | 显示全部楼层
用DDS芯片和FPGA
 楼主| dengdc 发表于 2011-7-14 09:24 | 显示全部楼层
不想用DDS芯片和FPGA
wuhany 发表于 2011-7-14 10:19 | 显示全部楼层
你把430的工作频率设高就可以啦
lizye 发表于 2011-7-14 10:34 | 显示全部楼层
你用定时器,定时时间为1/1000000=1us,打开定时器中断,每进一次中断就取反一次输出,就行了。
jiahy 发表于 2011-7-14 10:53 | 显示全部楼层
用430自带的PWM输出功能。
spark周 发表于 2011-7-14 10:56 | 显示全部楼层
需要有8M的外部高频时钟源。
jiahy 发表于 2011-7-14 11:00 | 显示全部楼层
嗯,PWM占空比设为50%就可以了。
五谷道场 发表于 2011-7-14 11:03 | 显示全部楼层
推荐楼上方法
 楼主| dengdc 发表于 2011-7-14 11:05 | 显示全部楼层
为什么呢
五谷道场 发表于 2011-7-14 11:07 | 显示全部楼层
因为自带的定时器A的PWM功能,其输出是在后台执行的,主函数中只要初始化就行了。
 楼主| dengdc 发表于 2011-7-14 11:10 | 显示全部楼层
能给个参考代码吗?
五谷道场 发表于 2011-7-14 11:14 | 显示全部楼层
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);
}
午夜粪车 发表于 2011-7-14 11:17 | 显示全部楼层
4系列是不是最高只能到8MHz?
heweibig 发表于 2011-7-14 13:32 | 显示全部楼层
貌似430的片子都有mclk/sclk输出端的,将频率分频后输出,成不?
 楼主| dengdc 发表于 2011-7-14 13:47 | 显示全部楼层
不知道了,我再琢磨琢磨吧
mytempid 发表于 2011-7-14 16:46 | 显示全部楼层
搞个2M有源晶振
sxhhhjicbb 发表于 2011-7-14 19:49 | 显示全部楼层
5# lizye
1us取反一次,是0.5MHz
ahgao 发表于 2011-7-14 21:05 | 显示全部楼层
用软件方法就别指望了,就算是中断也是要响应时间的。
shamodehuhuan 发表于 2011-7-14 23:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

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