你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用STM32F334的HRTIM產生Single PWM

[复制链接]
福留爸爸 发布时间:2017-8-26 19:35
以下代碼我是使用設定register方式來完成,希望可以用STM32F334來實現數字電源控制,我會慢慢分享STM32F334不同PWM模式,ADC取樣,閉迴路控制的代碼!! 敬請期待!
: t& I3 q  f! i. \: F
! W: p  P- o/ v) {void HRTIM_CLK_Config(void)
2 n9 |! E9 g, o* a{9 d8 V- {( c9 R" X" c3 |
    /* Initialize the HRTIM clock and DLL */# h! \. T# T" M5 @* K  W
    RCC_CFGR3.bits.HRTIM1SW = 1;        //PLL vco output (running up to 144 MHz); V* p+ p0 E* E& A; Q
    RCC_APB2ENR.bits.HRTIM1EN = 1;      //Enable HRTIM clock+ d6 t. }: x) s1 x3 D

* C9 x) d5 n- X8 f2 X' r  O    HRTIM_DLLCR.bits.CALRTE = 3;8 q" ]7 A  d' f/ c2 h
    HRTIM_DLLCR.bits.CALEN = 1;
: w1 ]1 x2 M" `/ D3 N" N0 Q% ~" j7 M" K" {, y
    while(!HRTIM_ISR.bits.DLLRDY);      //Wait calibration completion2 f4 C& |) ]5 W+ S+ P6 Q7 |
}  A) l; x% ]2 E

! v- P) U' o1 h& {) _
; e' K# }( W) `# B8 zvoid HRTIM_SinglePWM_Config(void)
. c4 h% d# j" o* x. C{
' q. ^* }8 A% |% ~" u8 Z- e/ P    HRTIM_TIMACR.bits.CKPSCx = 0;       // 144MHz * 32
% V$ m- c! S  F+ W, K/ i. F0 |    HRTIM_TIMACR.bits.CONT = 1;         ' }/ [  i' m& w; ~1 R' P
    HRTIM_PERAR.all  = 46080;           // Switch frequency => 144MHz * 32 / 100KHz = 46080* g: u/ n( p7 W* Y& G3 K
    HRTIM_CMP1AR.all = 46080/2;         // Duty = 50%
  y4 C( {* p' ~0 m2 m8 g6 x! J5 U    HRTIM_SETA1R.bits.PER  = 1;+ r5 h& L- l. X1 z
    HRTIM_RSTA1R.bits.CMP1 = 1;      a7 A/ q  T. ?' V1 E# R
0 Q* E4 O0 ~& b. c
    HRTIM_MCR.bits.TACEN = 1;
& _. ?( C8 p. b    HRTIM_OENR.bits.TA1OEN = 1;
3 M0 Z1 V3 t. o}, }! j" J9 v) y# [& h, ~

0 e% F- S- R5 P2 X
# M4 d" _1 Q3 h: l; `% J( j" Wvoid HRTIM_Outputs_Config(void)" v2 @, _  H' w
{6 k+ p0 ]* Z8 a0 j; A/ w
    /* Enable GPIOA clock for timer A outputs */1 G1 }" y0 E: s) ~; U4 w' t3 m# Q
    RCC_AHBENR.bits.IOPAEN = 1;
! E; h4 l5 T. w+ V) o
9 N3 @* ~% p9 g6 G4 {7 g    /* Configure HRTIM output: TA1 (PA8) */+ W  W; C; a0 g
    GPIOA_MODER.bits.MODER8      = GPIO_Mode_AF;+ \2 i) N  O1 d4 o! q+ {
    GPIOA_OTYPER.bits.OT8           = GPIO_OType_PP;
( P( J8 O# q% Y* {# m1 f! M    GPIOA_OSPEEDR.bits.OSPEEDR8  = GPIO_Speed_50MHz;
. Q/ q; |2 R: @" k3 m    GPIOA_PUPDR.bits.PUPDR8      = GPIO_PuPd_NOPULL;    8 L& `# s9 e0 I  }
    GPIOA_AFRH.bits.AFR8         = GPIO_AF_13;
: |' }' E* M8 b7 d! s+ E. P5 w4 z; S& u$ l
}
7 i3 S7 n" l( D/ |" c& U5 F) ~# v+ I3 J2 ^6 k
int main(void)
  v- ]$ v, X' M  W; I{
2 M+ i* Z) T$ [7 z) V    SystemInit();
' m( D% G! t, i    HRTIM_Outputs_Config();
+ J- q) o1 l: y2 F5 @6 m    HRTIM_CLK_Config();, H4 E) i: P, W+ I. \8 ~3 K, r4 Q
    HRTIM_SinglePWM_Config();
( F3 `8 d+ N* m/ y, ?0 G% y$ Z9 O! P- l' x
    while(1)
3 S* b. E2 X  \) j7 U$ o    {
/ a# b) z% U- r- k$ Y$ x5 W1 _0 M, [) H
    }
+ o; @& s  @' O% g}5 V$ L1 v6 x3 s$ J8 }+ O' U0 f$ j
5 d9 q+ p! n) H# ~
收藏 评论0 发布时间:2017-8-26 19:35

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版