[STM8] 是8位的而不是DATASHEET上所说的16位

[复制链接]
583|15
 楼主| jiahy 发表于 2020-10-10 18:57 | 显示全部楼层 |阅读模式
我在使用STM8L051的TIM3 PWM时发现,这东东是8位的而不是DATASHEET上所说的16位
wyjie 发表于 2020-10-10 19:01 | 显示全部楼层
然后呢?你是怎么应对这个的呢
 楼主| jiahy 发表于 2020-10-10 19:04 | 显示全部楼层
CC1H这人寄存器没有卵用。设置这个寄存器对脉宽没有任何影响。花了我一天的时间!!!
jlyuan 发表于 2020-10-10 19:08 | 显示全部楼层
这么多的TIM,肯定不可能都是16位
yszong 发表于 2020-10-10 19:12 | 显示全部楼层
通常只有一到两个是,其余都是8,手册也有错的,看看有没有勘误表。
 楼主| jiahy 发表于 2020-10-10 19:16 | 显示全部楼层
这东东不做为PWM使用就是16位的,勘误表也没写。
chenho 发表于 2020-10-10 19:20 | 显示全部楼层
CLK_PeripheralClockConfig(CLK_Peripheral_TIM3, ENABLE);
/*
                set SB_TX_LOCK mode:
                PWM mode,T = 60us,
                Duty Ratio: 3/4  represents  send bit 1
                                                                1/2  represents  send bit 0
                                                                1/4  represents  a  respond
        TIM3_Prescaler_16,and T = 60;                                                
        */
        GPIO_Init(SB_TX_LOCK_PORT,SB_TX_LOCK_PIN,GPIO_Mode_Out_PP_High_Fast);
        
        TIM3_DeInit();
        
#if (SYS_CLOCK_16M)
        TIM3_TimeBaseInit(TIM3_Prescaler_16, TIM3_CounterMode_Up,PWM_T);
#endif
#if (SYS_CLOCK_8M)
        TIM3_TimeBaseInit(TIM3_Prescaler_8, TIM3_CounterMode_Up,PWM_T);
#endif
#if (SYS_CLOCK_4M)
        TIM3_TimeBaseInit(TIM3_Prescaler_4, TIM3_CounterMode_Up,PWM_T);
#endif

  /* PWM1 Mode configuration: Channel1 default Duty Ratio is 1/2 */
  TIM3_OC1Init(TIM3_OCMode_PWM1, TIM3_OutputState_Enable,PWM_T/2,TIM3_OCPolarity_High,TIM3_OCIdleState_Set);
  TIM3_OC1PreloadConfig(ENABLE);
        TIM3_ARRPreloadConfig(ENABLE);
        TIM3_ITConfig(TIM3_IT_Update,ENABLE);
        /*enable PWM output*/
        TIM3_CtrlPWMOutputs(ENABLE);   
  /* TIM3 enable counter */
        TIM3_Cmd(ENABLE);
该代码已经测试通过。占空比是50%,周期是PWM_T.
llljh 发表于 2020-10-10 19:23 | 显示全部楼层

难道手册错了?
renyaq 发表于 2020-10-10 19:27 | 显示全部楼层
不会吧,没用过这个,难道手册错了很多年?
houcs 发表于 2020-10-10 19:30 | 显示全部楼层
手册也错?开玩笑呢?这么重要的一个参数怎么会搞错。
chenjunt 发表于 2020-10-10 19:35 | 显示全部楼层
发现问题就行啊 要不然能卡好几天呢
xxmmi 发表于 2020-10-10 19:39 | 显示全部楼层
并不是所有的都支持16位寄存器操作
hanwe 发表于 2020-10-10 19:42 | 显示全部楼层
这个还真没关心过 都是用cube生成代码的
zhanglli 发表于 2020-10-10 19:45 | 显示全部楼层
这都是细节啊
happy_10 发表于 2020-10-10 19:49 | 显示全部楼层
估计之后st会出勘误表吧
 楼主| jiahy 发表于 2020-10-10 19:55 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则

862

主题

9861

帖子

4

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