打印
[STM32L4]

程序总死在for那里

[复制链接]
452|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llljh|  楼主 | 2019-7-14 17:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void Init_Clk( void )
{
    WDTCTL = WDTPW + WDTHOLD;                 // 关看门狗
    BCSCTL3 |= XT2S_2;                        // XT2频率范围设置
    BCSCTL1 &= ~XT2OFF;                       // 打开XT2振荡器
    do
    {
        IFG1 &= ~OFIFG;                       // 清振荡器失效标志
        BCSCTL3 &= ~XT2OF;                    // 清XT2失效标志
        for( uint i = 0x47FF; i>0; i-- );   // 等待XT2频率稳定
    }while (IFG1 & OFIFG);                    // 外部时钟源正常起动了吗?
    BCSCTL2 |= SELM_2 + SELS ;                // 设置MCLK、SMCLK为XT2
}

程序总死在for那里,外部晶振不需要接吧?

使用特权

评论回复
沙发
chuxh| | 2019-7-14 17:26 | 只看该作者

XT2是外部晶振啊,肯定要接的,试试把i的值改小点看看吧

使用特权

评论回复
板凳
juventus9554| | 2019-7-14 17:29 | 只看该作者
外部晶振不接,你是如何来处理的,不会是悬空吧。

使用特权

评论回复
地板
stly| | 2019-7-14 17:37 | 只看该作者
外部晶振,是不是需要接,不是看软件的,是要看硬件需求,是否有接外部时钟的需要,主要看精度要求

使用特权

评论回复
5
songqian17| | 2019-7-14 17:40 | 只看该作者

这个写法没试过,是因为i--还是因为定义的uint,换成int是不是好一些

使用特权

评论回复
6
dingy| | 2019-7-14 17:42 | 只看该作者
如果没接外部晶振,您程序中却在判断外部时钟是否稳定起振,那肯定是死等了。

使用特权

评论回复
7
zhaoxqi| | 2019-7-14 17:45 | 只看该作者
在设计电路时,基本上都不外部晶振给接上了,没有不接的

使用特权

评论回复
8
xxrs| | 2019-7-14 17:45 | 只看该作者
就是可以做两个按键 这样好理解吧

使用特权

评论回复
9
pengf| | 2019-7-14 17:48 | 只看该作者
这个是跟晶振相关系的。。

使用特权

评论回复
10
songqian17| | 2019-7-14 18:02 | 只看该作者

如果你定义了这个芯片的系统主时钟为XT2时钟源,
那么你的XT2引脚就必须接晶振,否则芯片无法工作

使用特权

评论回复
11
pengf| | 2019-7-14 18:06 | 只看该作者
for循环中的i变量可以设小一点,几百就行。

使用特权

评论回复
12
renyaq| | 2019-7-14 18:08 | 只看该作者

外部的低频晶振必须要用上的才行

使用特权

评论回复
13
supernan| | 2019-7-14 18:13 | 只看该作者
这个跟外部晶振是非常有关系的。。。。

使用特权

评论回复
14
llljh|  楼主 | 2019-7-14 18:16 | 只看该作者

其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

评论回复
15
wakayi| | 2019-8-8 13:02 | 只看该作者
变量类型的问题吧

使用特权

评论回复
16
wowu| | 2019-8-8 13:05 | 只看该作者
把判定值改小点试试看

使用特权

评论回复
17
xiaoqizi| | 2019-8-8 13:08 | 只看该作者
uint的范围是多少

使用特权

评论回复
18
木木guainv| | 2019-8-8 13:14 | 只看该作者
说不好 单步判定一下吧

使用特权

评论回复
19
捉虫天师| | 2019-8-8 23:57 | 只看该作者
换个思路。

使用特权

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

本版积分规则

855

主题

11301

帖子

6

粉丝