4240|6

484

帖子

12

TA的资源

纯净的硅(高级)

楼主
 

用proteus8.1测试pwm信号 [复制链接]

本帖最后由 平湖秋月 于 2015-3-1 18:24 编辑

四分之一 to 四分之三  PWM

三分之一 to 三分之二
//

//*****************************************************************************

#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/pwm.h"
#include "driverlib/sysctl.h"


//*****************************************************************************

//*****************************************************************************

//*****************************************************************************
//
// The error routine that is called if the driver library encounters an error.
//
//*****************************************************************************
#ifdef DEBUG
void
__error__(char *pcFilename, unsigned long ulLine)
{
}
#endif

//*****************************************************************************
//
// This example demonstrates how to setup the PWM block to generate signals.
//
//*****************************************************************************
int
main(void)
{
    unsigned long ulPeriod;

    //
    // Set the clocking to run directly from the crystal.
    //
    SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
                   SYSCTL_XTAL_6MHZ);
    SysCtlPWMClockSet(SYSCTL_PWMDIV_1);




    //
    // Enable the peripherals used by this example.
    //
    SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);

    //
    // Set GPIO D0 and D1 as PWM pins.  They are used to output the PWM0 and
    // PWM1 signals.
    //
    GPIOPinTypePWM(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1);

    //
    // Compute the PWM period based on the system clock.
    //
    ulPeriod = SysCtlClockGet() / 50000;

    //
    // Set the PWM period to 50 kHz.
    //
    PWMGenConfigure(PWM_BASE, PWM_GEN_0,
                    PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);
    PWMGenPeriodSet(PWM_BASE, PWM_GEN_0, ulPeriod);

    //
    // Set PWM0 to a duty cycle of 25% and PWM1 to a duty cycle of 75%.
    //
    PWMPulseWidthSet(PWM_BASE, PWM_OUT_0, ulPeriod / 4);
    PWMPulseWidthSet(PWM_BASE, PWM_OUT_1, ulPeriod * 3 / 4);

    //
    // Enable the PWM0 and PWM1 output signals.
    //
    PWMOutputState(PWM_BASE, PWM_OUT_0_BIT | PWM_OUT_1_BIT, true);

    //
    // Enable the PWM generator.
    //
    PWMGenEnable(PWM_BASE, PWM_GEN_0);

    //
    // Loop forever while the PWM signals are generated.
    //
    while(1)
    {
    }
}

最新回复

什么时候8.2特别版出来了,就可以试试M0的仿真了。  详情 回复 发表于 2015-3-1 20:53
 
点赞 关注

回复
举报

484

帖子

12

TA的资源

纯净的硅(高级)

沙发
 
哈哈哈

pwm测试电路图.PNG (45.2 KB, 下载次数: 0)

pwm测试电路图.PNG

点评

从图中看到,pwm0和pwm1产生的1/4 and 3/4pwm和程序吻合, 修改其占空比为1/3 and 2/3如图也吻合。  详情 回复 发表于 2015-3-1 17:50
 
 

回复

484

帖子

12

TA的资源

纯净的硅(高级)

板凳
 
从图中看到,pwm0和pwm1产生的1/4 and 3/4pwm和程序吻合,
修改其占空比为1/3 and 2/3如图也吻合。




四分之一 to 四分之三.PNG (142.19 KB, 下载次数: 0)

四分之一 to 四分之三.PNG

三分之一 to 三分之二.PNG (149.32 KB, 下载次数: 0)

三分之一 to 三分之二.PNG

点评

哈哈,做这PWM固件库函数的使用测试比在launchpad板子上来的直观,那块板子很多实验 只能在UART中观察来的并不方便,有时候也看不到程序产生的结果。  详情 回复 发表于 2015-3-1 17:52
 
 
 

回复

484

帖子

12

TA的资源

纯净的硅(高级)

4
 
本帖最后由 平湖秋月 于 2015-3-1 17:55 编辑
平湖秋月 发表于 2015-3-1 17:50
从图中看到,pwm0和pwm1产生的1/4 and 3/4pwm和程序吻合,
修改其占空比为1/3 and 2/3如图也吻合。

哈哈,做这PWM固件库函数的使用测试比在launchpad板子上来的直观,那块板子很多实验
只能在UART中观察来的并不方便,有时候也看不到程序产生的结果。

学习Tiva C的坛友,充分利用proteus会加快你学习理解Tiva C固件库的进度。



 
 
 

回复

2万

帖子

341

TA的资源

版主

5
 
proteus8.1很强大
 
 
 

回复

484

帖子

12

TA的资源

纯净的硅(高级)

6
 
加两个LED,从其闪烁的快慢可指示占空比的大小

led指示占空比.PNG (50.42 KB, 下载次数: 0)

led指示占空比.PNG
 
 
 

回复

1万

帖子

24

TA的资源

版主

7
 
什么时候8.2特别版出来了,就可以试试M0的仿真了。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表