[技术问答] NUC100官方固件库问题

[复制链接]
2507|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

查看全部评分

李香兰 发表于 2015-10-12 20:22 | 显示全部楼层
先测一下芯片的具体型号是啥
mintspring 发表于 2015-10-12 21:00 | 显示全部楼层
原来固件库就是驱动函数啊,以为什么呢。

评分

参与人数 1威望 +1 收起 理由
北宸xyz + 1

查看全部评分

稳稳の幸福 发表于 2015-10-12 21:10 | 显示全部楼层
if(u32HIRCSTB == 0)
        CLK->PWRCON &= ~CLK_CLKSTATUS_OSC22M_STB_Msk;
wahahaheihei 发表于 2015-10-12 21:45 | 显示全部楼层
你要真对具体型号,选择例子下载玩。
bobde163 发表于 2015-10-13 00:05 | 显示全部楼层
晶振部分工作不正常

评分

参与人数 1威望 +1 收起 理由
北宸xyz + 1

查看全部评分

西门扫雪 发表于 2015-10-13 08:17 | 显示全部楼层
感觉是时钟的问题,是不是时钟源不太稳定?

评分

参与人数 1威望 +1 收起 理由
北宸xyz + 1

查看全部评分

 楼主| 北宸xyz 发表于 2015-10-13 21:43 | 显示全部楼层
mintspring 发表于 2015-10-12 21:00
原来固件库就是驱动函数啊,以为什么呢。

在STM32那边这样叫
风的样子 发表于 2015-10-14 07:40 | 显示全部楼层
有没有测试时钟,看看稳不稳定
643757107 发表于 2015-10-14 16:35 | 显示全部楼层
昨天玩ST的开发板,也发现,他们给的例程有个编译失败了,一看,妈呀,官方的cube竟然4个错误。

评分

参与人数 1威望 +1 收起 理由
北宸xyz + 1 淡定

查看全部评分

silenceyangjun 发表于 2016-11-20 17:23 | 显示全部楼层
请问楼主最后怎么解决的呢 我这边有块Nu_Tiny_EVB 120 也遇到了这个问题
谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

2

主题

36

帖子

1

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