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

使用STM32F334的HRTIM產生Single PWM

[复制链接]
福留爸爸 发布时间:2017-8-26 19:35
以下代碼我是使用設定register方式來完成,希望可以用STM32F334來實現數字電源控制,我會慢慢分享STM32F334不同PWM模式,ADC取樣,閉迴路控制的代碼!! 敬請期待!

void HRTIM_CLK_Config(void)
{
    /* Initialize the HRTIM clock and DLL */
    RCC_CFGR3.bits.HRTIM1SW = 1;        //PLL vco output (running up to 144 MHz)
    RCC_APB2ENR.bits.HRTIM1EN = 1;      //Enable HRTIM clock

    HRTIM_DLLCR.bits.CALRTE = 3;
    HRTIM_DLLCR.bits.CALEN = 1;

    while(!HRTIM_ISR.bits.DLLRDY);      //Wait calibration completion
}


void HRTIM_SinglePWM_Config(void)
{
    HRTIM_TIMACR.bits.CKPSCx = 0;       // 144MHz * 32
    HRTIM_TIMACR.bits.CONT = 1;         
    HRTIM_PERAR.all  = 46080;           // Switch frequency => 144MHz * 32 / 100KHz = 46080
    HRTIM_CMP1AR.all = 46080/2;         // Duty = 50%
    HRTIM_SETA1R.bits.PER  = 1;
    HRTIM_RSTA1R.bits.CMP1 = 1;   

    HRTIM_MCR.bits.TACEN = 1;
    HRTIM_OENR.bits.TA1OEN = 1;
}


void HRTIM_Outputs_Config(void)
{
    /* Enable GPIOA clock for timer A outputs */
    RCC_AHBENR.bits.IOPAEN = 1;

    /* Configure HRTIM output: TA1 (PA8) */
    GPIOA_MODER.bits.MODER8      = GPIO_Mode_AF;
    GPIOA_OTYPER.bits.OT8           = GPIO_OType_PP;
    GPIOA_OSPEEDR.bits.OSPEEDR8  = GPIO_Speed_50MHz;
    GPIOA_PUPDR.bits.PUPDR8      = GPIO_PuPd_NOPULL;   
    GPIOA_AFRH.bits.AFR8         = GPIO_AF_13;

}

int main(void)
{
    SystemInit();
    HRTIM_Outputs_Config();
    HRTIM_CLK_Config();
    HRTIM_SinglePWM_Config();

    while(1)
    {

    }
}

收藏 评论0 发布时间:2017-8-26 19:35

举报

0个回答

所属标签

相似分享

官网相关资源

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