历史上的今天
返回首页

历史上的今天

今天是:2025年07月24日(星期四)

正在发生

2018年07月24日 | STM8S TIM1库函数应用

2018-07-24 来源:eefocus

个人觉得ST的库函数用起来还是挺不错的,之前都是使用自己写的函数,容易改出错,以下是验证过的,TIM1定时100微妙中断一次。


void TIM1_TimeBaseInit(u16 TIM1_Prescaler,

                       TIM1_CounterMode_TypeDef TIM1_CounterMode,

                       u16 TIM1_Period,

                       u8 TIM1_RepetitionCounter)

{

 

    /* Check parameters */

    assert_param(IS_TIM1_COUNTER_MODE_OK(TIM1_CounterMode));

 

    /* Set the Autoreload value */

    TIM1->ARRH = (u8)(TIM1_Period >> 8);

    TIM1->ARRL = (u8)(TIM1_Period);

 

    /* Set the Prescaler value */

    TIM1->PSCRH = (u8)(TIM1_Prescaler >> 8);

    TIM1->PSCRL = (u8)(TIM1_Prescaler);

 

    /* Select the Counter Mode */

    TIM1->CR1 = (u8)(((TIM1->CR1) & (u8)(~(TIM1_CR1_CMS | TIM1_CR1_DIR))) | (u8)(TIM1_CounterMode));

 

    /* Set the Repetition Counter value */

    TIM1->RCR = TIM1_RepetitionCounter;

 

}

 

void TIM1_Cmd(FunctionalState NewState)

{

    /* Check the parameters */

    assert_param(IS_FUNCTIONALSTATE_OK(NewState));

 

    /* set or Reset the CEN Bit */

    if (NewState != DISABLE)

    {

        TIM1->CR1 |= TIM1_CR1_CEN;

    }

    else

    {

        TIM1->CR1 &= (u8)(~TIM1_CR1_CEN);

    }

}

 

void TIM1_ITConfig(TIM1_IT_TypeDef  TIM1_IT, FunctionalState NewState)

{

    /* Check the parameters */

    assert_param(IS_TIM1_IT_OK(TIM1_IT));

    assert_param(IS_FUNCTIONALSTATE_OK(NewState));

 

    if (NewState != DISABLE)

    {

        /* Enable the Interrupt sources */

        TIM1->IER |= (u8)TIM1_IT;

    }

    else

    {

        /* Disable the Interrupt sources */

        TIM1->IER &= (u8)(~(u8)TIM1_IT);

    }

}

 

void TIM1_TimerInit(u16 Timer1Time) 

{

  assert_param(IS_TIM1TIMERTIME_OK(Timer1Time));

   

  TIM1_DeInit();//复位TIM1所有参数

  TIM1_TimeBaseInit(TIM1_PRESCALER_16,TIM1_COUNTERMODE_DOWN,Timer1Time,0);

  //TIM1的预分频器基于一个由16位寄存器

  //选择16分频 16M/16=1M  周期为1us 

  TIM1_Cmd(ENABLE);//使能计时器

  TIM1_ITConfig(TIM1_IT_UPDATE,ENABLE);//使能TIM1中断

}

初始化时,调用

TIM1_TimerInit(100);//定时中断100微妙一次


推荐阅读

史海拾趣

CHENMKO公司的发展小趣事

非常抱歉,由于CHENMKO并非一个我所熟知的电子行业中的具体公司名称,我无法直接为您提供关于其发展起来的5个相关故事。如果您提到的“CHENMKO”是一个虚构的或者不太知名的公司,那么相关的具体故事就需要您自己创作或者查找相关资料。

然而,我可以提供您一个电子行业公司发展的通用故事框架,您可以根据这个框架和您的具体需求来创作或寻找更多信息。

电子行业公司发展故事框架

  1. 创业初期
    • 描述公司的创始人和初创团队,他们是如何发现市场机会的。
    • 讲述公司初创时期的艰难和挑战,比如资金短缺、技术难题等。
    • 介绍公司早期产品的特点,以及如何在市场上获得初步认可。
  2. 技术创新与突破
    • 描述公司在某一技术领域取得的重大突破,如研发出新技术、新产品。
    • 分析这一技术创新如何帮助公司在市场上获得竞争优势。
    • 讲述技术创新过程中遇到的困难以及克服这些困难的过程。
  3. 市场拓展与合作
    • 描述公司如何逐步扩大市场份额,比如通过开拓新市场、拓展产品线等。
    • 介绍公司与其他企业或机构的合作案例,以及这些合作带来的好处。
    • 分析公司在市场拓展过程中面临的挑战和应对策略。
  4. 品牌建设与形象提升
    • 讲述公司如何通过品牌建设提升市场影响力,比如参加行业展会、举办发布会等。
    • 介绍公司如何塑造积极的品牌形象,如强调社会责任、环保理念等。
    • 分析品牌建设对公司长期发展的重要性。
  5. 未来发展与展望
    • 描述公司的未来发展规划,如继续技术创新、拓展国际市场等。
    • 分析行业发展趋势和市场竞争态势,以及公司如何应对这些挑战。
    • 展望公司的未来发展前景和可能面临的机遇与挑战。

请注意,以上框架是一个通用的模板,您可以根据CHENMKO公司的实际情况进行调整和修改。如果您需要更具体的信息或故事,建议您查找该公司的官方网站、新闻报道或行业分析报告等渠道获取相关资料。

Apacer公司的发展小趣事

随着科技的不断发展,Apacer宇瞻科技紧跟时代步伐,不断创新产品。2006年,公司推出了存储容量高达2GB的microSD卡,这款数码卡体积仅为普通SD卡的四分之一,但存储容量却与之不相上下。这一创新产品不仅满足了市场对高容量、小型化存储设备的需求,也进一步巩固了宇瞻科技在市场上的地位。

淩志比高公司的发展小趣事

在追求经济效益的同时,淩志比高公司也积极履行社会责任。公司注重环保和可持续发展,采用环保材料和生产工艺,减少对环境的影响。此外,淩志比高还积极参与社会公益事业,为社会做出贡献。这种负责任的态度赢得了社会各界的认可和尊重。

请注意,以上故事仅为虚构示例,并不代表任何真实公司的实际情况。如果您对淩志比高公司有进一步的了解需求,建议直接访问其官方网站或查阅相关新闻报道以获取准确信息。

艾谱科(Epticore)公司的发展小趣事

艾谱科公司深知技术创新的重要性。为了保持产品的竞争力,公司不断加大研发投入,积极引进高素质人才,并与国内外知名科研机构建立合作关系。在研发团队的努力下,艾谱科不断推出具有创新性的产品,如低功耗处理器、高速数据传输模块等。这些新产品不仅提升了公司的市场竞争力,也为客户提供了更加优质的产品选择。

ELNA(依娜)公司的发展小趣事

ELNA公司的故事始于1940年代,当时该公司推出了其第一台缝纫机。这款缝纫机以其精湛的工艺和卓越的性能迅速在市场上崭露头角。ELNA凭借对品质的坚持和对技术的不断创新,逐渐在缝纫机行业树立了良好的口碑。

随着业务的扩展,ELNA开始涉足电子领域,并逐步将其在机械制造和精密加工方面的技术优势应用到电子产品中。这一转变为公司未来的发展奠定了坚实的基础。

FUJI公司的发展小趣事

随着全球电子市场的快速发展,ELNA开始实施国际化战略。公司积极拓展海外市场,通过建立销售网络和生产基地,提升品牌影响力和市场竞争力。

在国际化过程中,ELNA注重本地化经营和文化融合。公司根据不同地区的市场需求和文化特点,制定相应的产品和市场策略。同时,ELNA还加强了对海外员工的培训和管理,提升团队的国际化水平和协作能力。

(以下故事四和故事五的内容,由于篇幅限制,我将不再详细展开,但您可以根据类似的结构和思路进行补充和完善。)

问答坊 | AI 解惑

单电源供电下模拟电源和数字电源的分离?

现在有个IC需要模拟5V和数字5V同时供电,我采用一个锂电升压5V给它供电,想询问下只有一个锂电的情况下怎么做到模拟电源和数字电源分离。…

查看全部问答>

高频开关电源设计中的电磁兼容性问题研究

高频开关电源设计中的电磁兼容性问题研究…

查看全部问答>

AD转换程序,急了。。。请大家帮忙看一下。

我是想这样写的,定时器定时2MS,中断标志一个变量之后,启动ADC转换,把转换到的数据发用串口发送出去。。 这样算的话,采样大约是:400HZ。 采用外部基准电压。。。AVCC=5V /***************************** 2010 05 30 ; 功能:ADC转换,然 ...…

查看全部问答>

C8051F组的焊接问题

请问R16下面的那个没有标的是不是R15?…

查看全部问答>

ulink2下载程序出问题

                                 刚开始做STM32F101系列,写一个小程序一下载就说flash download failed  CORTEX-M3,也按照网上说配置FL ...…

查看全部问答>

Jlink V8可以支持LM4F吗?

不知道现在市面上流行的那些山寨Jlink V8是否支持新出的LM4F MCU?…

查看全部问答>

模拟电子视频教程

哪位有 模拟电子技术 功率放大电路好的视频教程 分享一下 谢谢…

查看全部问答>

恩智浦 LPC1500 SCTimer 简明手册

恩智浦 LPC1500 SCTimer 简明手册 包含说明文档 及  代码例程 …

查看全部问答>

电源设计中说电容,不知道的认真看啊

电源往往是我们在电路设计过程中最容易忽略的环节。其实,作为一款优秀的设计,电源设计应当是很重要的,它很大程度影响了整个系统的性能和成本。这里,只介绍一下电路板电源设计中的电容使用情况。这往往又是电源设计中最容易被忽略的地方。很多人 ...…

查看全部问答>