打印

STM8库函数的问题

[复制链接]
3421|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
无涯|  楼主 | 2009-12-3 17:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 无涯 于 2009-12-3 21:45 编辑

在STM8的库函数的stm8s_clk.c中,有这么一个函数
void CLK_AdjustHSICalibrationValue(CLK_HSITrimValue_TypeDef CLK_HSICalibrationValue)
{
  /* check the parameters */
  assert_param(IS_CLK_HSITRIMVALUE_OK(CLK_HSICalibrationValue));
  /* Store the new value */
  CLK->HSITRIMR = (u8)((CLK->HSITRIMR & (u8)(~CLK_HSITRIMR_HSITRIM))|((u8)CLK_HSICalibrationValue));
}

一、CLK_HSITrimValue_TypeDef是一个0-7的enum,而且CLK_HSITRIMR_HSITRIM是0b00000111,但是部分型号是支持4BIT的HSI校正,这个函数只是按3BIT来写的,似乎不太对头。

二、调用这个函数来校正HSI,不起作用,最后还是自己写了一句 CLK_HSITRIMR = u8HSICalibrationValue; ,就可以了。请高手指点这是怎么回事?
沙发
无涯|  楼主 | 2009-12-3 20:42 | 只看该作者
自顶一下,请高手解答。顺便帮MCUISP做个广告,HSI的校正值是用EP868烧写时烧进去的,EP868真的很不错,减少很多工作量,否则要自己做个程序来校正,批量生产时麻烦。

使用特权

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

本版积分规则

8

主题

56

帖子

1

粉丝