这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » IAR

共6条 1/1 1 跳转至

IAR

菜鸟
2013-03-28 19:47:18     打赏

#include  "systemInit.h"
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define PART_LM3S1138
#include 

#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long

//  定义LED
#define  KEY_PERIPH             SYSCTL_PERIPH_GPIOG
#define  KEY_PORT               GPIO_PORTG_BASE
#define  KEY_PIN                GPIO_PIN_5

#define PD0_PWM2 GPIO_PIN_0
#define PD1_PWM3 GPIO_PIN_1

//  主函数(程序入口)
int  main (void)
{
  //  jtagWait();
    SysCtlClockSet(SYSCTL_SYSDIV_1 |                                    /*  配置6MHz外部晶振作为主时钟  */
                   SYSCTL_USE_OSC  |
                   SYSCTL_OSC_MAIN |
                   SYSCTL_XTAL_6MHZ);
   
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);                        /*  使能PWM2和PWM3输出所在GPIO  */
    GPIOPinTypeOut(GPIO_PORTD_BASE , GPIO_PIN_0 | GPIO_PIN_1);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM);                          /*  使能PWM模块                 */
    SysCtlPWMClockSet(SYSCTL_PWMDIV_1);                                 /*  PWM时钟配置:不分频         */
    GPIOPinTypePWM(GPIO_PORTD_BASE,                                     /*  PB0和PB1配置为PWM功能       */
                   GPIO_PIN_0 | GPIO_PIN_1);
   
    PWMGenConfigure(PWM_BASE, PWM_GEN_1,                                /*  配置PWM发生器1:加减计数    */                     PWM_GEN_MODE_UP_DOWN|PWM_GEN_MODE_NO_SYNC|PWM_GEN_MODE_FAULT_UNLATCHED);
    PWMGenPeriodSet(PWM_BASE, PWM_GEN_1, 150);                        /*  设置PWM发生器1的周期        */
    PWMPulseWidthSet(PWM_BASE, PWM_OUT_2, 75);                        /*  设置PWM2输出的脉冲宽度      */
    PWMPulseWidthSet(PWM_BASE, PWM_OUT_3, 75);                        /*  设置PWM3输出的脉冲宽度      */
    PWMOutputState(PWM_BASE,                                            /*  使能PWM2和PWM3的输出        */
                   (PWM_OUT_2_BIT | PWM_OUT_3_BIT),
                   true);
    PWMGenEnable(PWM_BASE, PWM_GEN_1);                                  /*  使能PWM发生器1,开始产生    */
                                                                        /*  PWM方波                     */                               
    for (;;)
    {
    }
}


请教各位大神,为什么程序一到红色的地方就FaultISR(void)
{
    //
    // Enter an infinite loop.
    //
    while(1)
    {
    }
}卡死了....是配置错了么???




关键词: ARM LM3S1138    

专家
2013-03-28 20:22:45     打赏
2楼
这贴名 

高工
2013-03-28 23:16:34     打赏
3楼

你的PWM配置可能违规了。

(另外说一下,楼主设置这个颜色看起来有点费劲)


院士
2013-03-28 23:28:01     打赏
4楼

这种错误 基本全是配置失败。

楼主再看看是不是这个芯片没有这个引脚啊


高工
2013-03-29 16:18:27     打赏
5楼

楼主参考一下这个吧:


菜鸟
2013-03-29 21:27:10     打赏
6楼

谢谢啦...


共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]