打印
[STM8]

是8位的而不是DATASHEET上所说的16位

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

使用特权

评论回复
5
yszong| | 2020-10-10 19:12 | 只看该作者
通常只有一到两个是,其余都是8,手册也有错的,看看有没有勘误表。

使用特权

评论回复
6
jiahy|  楼主 | 2020-10-10 19:16 | 只看该作者
这东东不做为PWM使用就是16位的,勘误表也没写。

使用特权

评论回复
7
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.

使用特权

评论回复
8
llljh| | 2020-10-10 19:23 | 只看该作者

难道手册错了?

使用特权

评论回复
9
renyaq| | 2020-10-10 19:27 | 只看该作者
不会吧,没用过这个,难道手册错了很多年?

使用特权

评论回复
10
houcs| | 2020-10-10 19:30 | 只看该作者
手册也错?开玩笑呢?这么重要的一个参数怎么会搞错。

使用特权

评论回复
11
chenjunt| | 2020-10-10 19:35 | 只看该作者
发现问题就行啊 要不然能卡好几天呢

使用特权

评论回复
12
xxmmi| | 2020-10-10 19:39 | 只看该作者
并不是所有的都支持16位寄存器操作

使用特权

评论回复
13
hanwe| | 2020-10-10 19:42 | 只看该作者
这个还真没关心过 都是用cube生成代码的

使用特权

评论回复
14
zhanglli| | 2020-10-10 19:45 | 只看该作者
这都是细节啊

使用特权

评论回复
15
happy_10| | 2020-10-10 19:49 | 只看该作者
估计之后st会出勘误表吧

使用特权

评论回复
16
jiahy|  楼主 | 2020-10-10 19:55 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

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

本版积分规则

862

主题

9861

帖子

4

粉丝