STM8S103F的TIM2无法进入中断

一、环境

芯片:STM8S103F3P
IDE环境:IAR for STM8
IAR自带的STM库中TIM2的库错误,寄存器和datasheet不一致,需要修改。

 

、分析

stms.h中定义的TIM2寄存器如下图:

1.jpg

STM官网资料STM8S103F3P中定义的TIM2寄存器如下图:

22.jpg

三、解决

在库中把Reserve寄存器加上即可

typedef struct TIM2_struct

{

 __IO uint8_t CR1;   /*!< control register 1 */

 __IO uint8_t RESERVE1;

 __IO uint8_t RESERVE2;

 __IO uint8_t IER;   /*!< interrupt enable register */

 __IO uint8_t SR1;   /*!< status register 1 */

 __IO uint8_t SR2;   /*!< status register 2 */

 __IO uint8_t EGR;   /*!< event generation register */

 __IO uint8_t CCMR1; /*!< CC mode register 1 */

 __IO uint8_t CCMR2; /*!< CC mode register 2 */

 __IO uint8_t CCMR3; /*!< CC mode register 3 */

 __IO uint8_t CCER1; /*!< CC enable register 1 */

 __IO uint8_t CCER2; /*!< CC enable register 2 */

 __IO uint8_t CNTRH; /*!< counter high */

 __IO uint8_t CNTRL; /*!< counter low */

 __IO uint8_t PSCR;  /*!< prescaler register */

 __IO uint8_t ARRH;  /*!< auto-reload register high */

 __IO uint8_t ARRL;  /*!< auto-reload register low */

 __IO uint8_t CCR1H; /*!< capture/compare register 1 high */

 __IO uint8_t CCR1L; /*!< capture/compare register 1 low */

 __IO uint8_t CCR2H; /*!< capture/compare register 2 high */

 __IO uint8_t CCR2L; /*!< capture/compare register 2 low */

 __IO uint8_t CCR3H; /*!< capture/compare register 3 high */

 __IO uint8_t CCR3L; /*!< capture/compare register 3 low */

}TIM2_TypeDef


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值