搜索
bottom↓
回复: 23

太奇怪了,msp430f149的while(1)中只写一句翻转的话,这家伙竟然产生600KHz左右的方波,这是

[复制链接]

出0入0汤圆

发表于 2011-8-25 09:29:37 | 显示全部楼层 |阅读模式
这是我的程序

软件环境:IAR 5.20
下载器:FET430UIF、并口下载器(两个都下载过,结果一样)
芯片:MSP430F149

#include <msp430x14x.h>   
//********************************************************************
// 描述:时钟初始化,使用外部晶振7.3728M
// 输入:无  输出:无
//校准:今天把系统时钟系统的看了一遍,基本明白了,2011-08-17
//********************************************************************
void CLK_init(void)
{
        unsigned int i=0;
        BCSCTL1 &= ~XT2OFF;       // XT2on,使能外部高速晶振
        do
        {
            IFG1 &=~OFIFG;//清除振荡器失效标志
            for (i = 0xFF; i > 0; i--);// 延时,等待XT2起振
        }
        while ((IFG1 & OFIFG) != 0);   // 判断XT2是否起振
        BCSCTL2 |= SELM_2 + SELS;  // MCLK = SMCLK = XT2 (safe),选择外部晶振
}
void main(void)
{
  CLK_init();   //时钟初始化
  P1SEL &=0x00;//P1.0选择IO功能
  P1DIR |=0x01;//方向为输出
  P1OUT &=0xFE;
  while(1)
  {
    P1OUT ^=0x01;  
  }
}

下面是示波器截图,可以看到有600KHz左右的方波(⊙o⊙)哦


(原文件名:照片3050.jpg)


(原文件名:照片3051.jpg)


(原文件名:照片3052.jpg)


(原文件名:照片3053.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2011-8-25 09:34:50 | 显示全部楼层
循环一次正好是耗时6个时钟,所以你把晶振 7372800/(6*2) 就正好是600K左右了

出0入0汤圆

 楼主| 发表于 2011-8-25 09:53:34 | 显示全部楼层
回复【1楼】ele_eye
-----------------------------------------------------------------------

那这个149不是单指令周期的东东了?

出0入0汤圆

发表于 2011-8-25 10:00:11 | 显示全部楼层
是不是你晶振出问题了 阿,你可以用示波器看看晶振的输出或者换一个单片机试试看

出0入0汤圆

发表于 2011-8-25 10:33:54 | 显示全部楼层
是你小子,哼哼!

出0入663汤圆

发表于 2011-8-25 11:07:06 | 显示全部楼层
回复【2楼】guxingganyue
那这个149不是单指令周期的东东了?
-----------------------------------------------------------------------

你用1条汇编指令写出 读寄存器 + 异或 + 写寄存器 + 跳转 来看看?

出0入0汤圆

发表于 2011-8-25 11:34:46 | 显示全部楼层
拍照时,对焦要准确,相机要拿稳,按动快门时不可用猛劲

出0入0汤圆

发表于 2011-8-25 13:06:43 | 显示全部楼层
看门狗呢 默认是打开的吧  默认的时间呢 是多少?

片子复位之后某些寄存器的值怎么样子的,考虑下。

出0入0汤圆

发表于 2011-8-25 13:32:39 | 显示全部楼层
异或操作,就是每次取反

出0入0汤圆

发表于 2011-8-25 13:57:24 | 显示全部楼层
回复【5楼】gzhuli  咕唧霖
回复【2楼】guxingganyue
那这个149不是单指令周期的东东了?
-----------------------------------------------------------------------
你用1条汇编指令写出 读寄存器 + 异或 + 写寄存器 + 跳转 来看看?
-----------------------------------------------------------------------

回复【8楼】xiaoking  蒋杰
异或操作,就是每次取反
-----------------------------------------------------------------------

出0入0汤圆

发表于 2011-8-25 22:19:29 | 显示全部楼层
看门狗的没关。main函数开头加句 WDTCTL = WDTPW + WDTHOLD ;试试。

出0入0汤圆

 楼主| 发表于 2011-8-26 16:38:33 | 显示全部楼层
回复【4楼】240671900 疯狂的石头
-----------------------------------------------------------------------

何发现的

出0入0汤圆

 楼主| 发表于 2011-8-26 16:39:18 | 显示全部楼层
回复【6楼】wandy2010 老铁
-----------------------------------------------------------------------

手机不行啊

出0入0汤圆

发表于 2011-8-26 17:03:43 | 显示全部楼层
是LZ奇怪吧,这是一条C取反指令,没运行一次,将对应IO电平置反,怎么奇怪了!

出0入0汤圆

 楼主| 发表于 2011-8-26 17:24:57 | 显示全部楼层
回复【10楼】aida66
-----------------------------------------------------------------------

刚试了,结果一样啊

出0入0汤圆

 楼主| 发表于 2011-8-26 17:25:53 | 显示全部楼层
回复【5楼】gzhuli 咕唧霖
-----------------------------------------------------------------------

不会汇编啊,,等我忙完了再用汇编试试吧

出0入0汤圆

 楼主| 发表于 2011-8-26 17:27:35 | 显示全部楼层
回复【7楼】lyzhangxiang
-----------------------------------------------------------------------

刚算了,我用7.3728MHz的晶振,狗默认时间是:4.4444ms

计算:2^15×1/7372800=0.00444444


(原文件名:11.jpg)

出0入0汤圆

 楼主| 发表于 2011-8-26 17:30:05 | 显示全部楼层
回复【13楼】wuha 致命武器
-----------------------------------------------------------------------

取反出现方波不奇怪,怪哉:600KHz

出0入0汤圆

发表于 2011-8-26 19:59:00 | 显示全部楼层
回复【楼主位】guxingganyue
-----------------------------------------------------------------------
我不是很清楚 msp430f149 的指令 ,可惜的是我还从来没有用过此类的单片机,

你可以去仔细调试一下,看看C语言对应的 汇编语言是什么? 有几条指令,每条指令占几个时钟,

包括的 C语言P1OUT ^=0x01;  是直接取反IO还是,读+异或+写+IO翻转,

你需要确认此单片机的是否有直接能把IO取反的汇编指令,还有IO的翻转速度,

还有循环跳转指令站几个时钟

从现象看 肯定的是有 6 个时钟的,这是无需怀疑, LZ在这里猜来猜去 还不如把对应汇编贴出来

出0入0汤圆

发表于 2011-8-26 20:28:57 | 显示全部楼层
我记得avr,12兆主频,产生3M方波,取反IO口

出0入0汤圆

发表于 2011-9-1 22:21:19 | 显示全部楼层
这么多几分白混了。

出0入0汤圆

发表于 2011-9-13 19:22:52 | 显示全部楼层
。。。。。。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-19 00:36

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表