Dsp28335 - ePWM - 50Hz小舵机的控制 - 代码例程

本文介绍如何使用DSP28335的ePWM模块控制50Hz小舵机,重点在于设置PWM周期和占空比。通过设置Mux寄存器选择ePWM功能,并根据150MHz主频计算TBPRD、CMP寄存器值,确保20ms完整周期。此外,讲解了CMP寄存器的shadow模式以保证信号完整性,以及AQCTLA和AQCTLB寄存器的配置。舵机控制不需要其他复杂功能,如死区延迟等。
摘要由CSDN通过智能技术生成

最近要做一点小东西,使用dsp28335控制舵机,使用pwm信号。在这里写点东西给需要使用pwm这个模块的新人吧。

工程模板代码我传在我的csdn的资源里了,有需要的可以下载。

28xx设置的sysclk为150MHz,大家用的时候主频一定要搞清楚,看看底层代码,ti的数据手册虽然是英文的但是看起来很容易,配置起来也很简单无脑。

初始化不多说,这里我用的pwm只是用的最基本功能,dsp中的ePwm模块的功能非常强大,很多功能我都使用不到,有需要的可以针对性的看下。

void InitEPwm3Gpio(void)
{
   EALLOW;
   
/* Enable internal pull-up for the selected pins */
// Pull-ups can be enabled or disabled by the user. 
// This will enable the pullups for the specified pins.
// Comment out other unwanted lines.

    GpioCtrlRegs.GPAPUD.bit.GPIO4 = 0;    // Enable pull-up on GPIO4 (EPWM3A)
    GpioCtrlRegs.GPAPUD.bit.GPIO5 = 0;    // Enable pull-up on GPIO5 (EPWM3B)
       
/* Configure ePWM-3 pins using GPIO regs*/
// This specifies which of the possible GPIO pins will be ePWM3 functional pins.
// Comment out other unwanted lines.

    GpioCtrlRegs.GPAMUX1.bit.GPIO4 =
  • 10
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值