打印
[技术问答]

NUC100官方固件库问题

[复制链接]
1824|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
北宸xyz|  楼主 | 2015-10-12 10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近公司用NUC100RE3DN做项目,从官方下载了 NUC100_120BSPv3.00.002固件包;
里面\SampleCode\StdDriver    NUC100 Series Driver Samples
直接下载进去测试出现问题,由于没有找到该固件库的说明文档,在这边请教下,谢!

程序一直等待在如下红色字体这边,这是什么原因。

/**
  * @brief      Set HCLK clock source and HCLK clock divider
  * @param[in]  u32ClkSrc is HCLK clock source. Including :
  *             - \ref CLK_CLKSEL0_HCLK_S_HXT
  *             - \ref CLK_CLKSEL0_HCLK_S_LXT
  *             - \ref CLK_CLKSEL0_HCLK_S_PLL
  *             - \ref CLK_CLKSEL0_HCLK_S_LIRC
  *             - \ref CLK_CLKSEL0_HCLK_S_HIRC
  * @param[in]  u32ClkDiv is HCLK clock divider. Including :
  *             - \ref CLK_CLKDIV_HCLK(x)
  * @return     None
  * @Details    This function set HCLK clock source and HCLK clock divider.
  *             The register write-protection function should be disabled before using this function.
  */
void CLK_SetHCLK(uint32_t u32ClkSrc, uint32_t u32ClkDiv)
{
    uint32_t u32HIRCSTB;

    /* Read HIRC clock source stable flag */
    u32HIRCSTB = CLK->CLKSTATUS & CLK_CLKSTATUS_OSC22M_STB_Msk;

    /* Switch to HIRC for Safe. Avoid HCLK too high when applying new divider. */
    CLK->PWRCON |= CLK_PWRCON_OSC22M_EN_Msk;
    while((CLK->CLKSTATUS & CLK_CLKSTATUS_OSC22M_STB_Msk) == 0);
    CLK->CLKSEL0 = (CLK->CLKSEL0 & (~CLK_CLKSEL0_HCLK_S_Msk)) | CLK_CLKSEL0_HCLK_S_HIRC;

    /* Apply new Divider */
    CLK->CLKDIV = (CLK->CLKDIV & (~CLK_CLKDIV_HCLK_N_Msk)) | u32ClkDiv;

    /* Switch to new HCLK source */
    CLK->CLKSEL0 = (CLK->CLKSEL0 & (~CLK_CLKSEL0_HCLK_S_Msk)) | u32ClkSrc;

    /* Update System Core Clock */
    SystemCoreClockUpdate();

    /* Disable HIRC if HIRC is disabled before switching HCLK source */
    if(u32HIRCSTB == 0)
        CLK->PWRCON &= ~CLK_CLKSTATUS_OSC22M_STB_Msk;
}




沙发
mwang| | 2015-10-12 10:42 | 只看该作者
查看TRM手册TRM_NUC100_120(DN)_Series_SC_Rev1.01.pdf,145页
检查内部 22.1184 MHz 振荡器时钟源是否稳定
一般不会出现这样的,你再检查确定一下先

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
北宸xyz + 2 赞一个!
板凳
Harry-Nu| | 2015-10-12 10:47 | 只看该作者
请楼主用 ICP 工具读取一下芯片型号,看看是不是NUC100RE3DN?

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
北宸xyz + 1 赞一个!
地板
598330983| | 2015-10-12 16:00 | 只看该作者
如果芯片型号都搞不明白,那么就不好弄了。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
北宸xyz + 1
5
李香兰| | 2015-10-12 20:22 | 只看该作者
先测一下芯片的具体型号是啥

使用特权

评论回复
6
mintspring| | 2015-10-12 21:00 | 只看该作者
原来固件库就是驱动函数啊,以为什么呢。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
北宸xyz + 1
7
稳稳の幸福| | 2015-10-12 21:10 | 只看该作者
if(u32HIRCSTB == 0)
        CLK->PWRCON &= ~CLK_CLKSTATUS_OSC22M_STB_Msk;

使用特权

评论回复
8
wahahaheihei| | 2015-10-12 21:45 | 只看该作者
你要真对具体型号,选择例子下载玩。

使用特权

评论回复
9
bobde163| | 2015-10-13 00:05 | 只看该作者
晶振部分工作不正常

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
北宸xyz + 1
10
西门扫雪| | 2015-10-13 08:17 | 只看该作者
感觉是时钟的问题,是不是时钟源不太稳定?

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
北宸xyz + 1
11
北宸xyz|  楼主 | 2015-10-13 21:43 | 只看该作者
mintspring 发表于 2015-10-12 21:00
原来固件库就是驱动函数啊,以为什么呢。

在STM32那边这样叫

使用特权

评论回复
12
风的样子| | 2015-10-14 07:40 | 只看该作者
有没有测试时钟,看看稳不稳定

使用特权

评论回复
13
643757107| | 2015-10-14 16:35 | 只看该作者
昨天玩ST的开发板,也发现,他们给的例程有个编译失败了,一看,妈呀,官方的cube竟然4个错误。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
北宸xyz + 1 淡定
14
silenceyangjun| | 2016-11-20 17:23 | 只看该作者
请问楼主最后怎么解决的呢 我这边有块Nu_Tiny_EVB 120 也遇到了这个问题
谢谢了

使用特权

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

本版积分规则

个人签名:在平坦的路面上曲折前行 技术交流 QQ1441567688

2

主题

36

帖子

1

粉丝