2

我在将结构传递给函数时遇到问题,并且遇到了错误:

'PWM_PINS' 未声明(在此函数中首次使用)

我通常能够在 C++ 编译器中毫无问题地做到这一点。对于我在这里可能做错的事情,我将不胜感激。

我在下面的头文件和 c 文件中包含了相关部分。

pwm.h 文件:

typedef struct PWM_tag{
    int PWM_1;
    int PWM_2;
    int PWM_3;
    int PWM_4;
    int PWM_5;
    int PWM_6;
} PWM;

void PWM_Set( uint32_t channelNum, uint32_t cycle, PWM PWN_PINS );

pwm.c 文件:

#include "pwm.h"
 void PWM_Set( uint32_t ChannelNum, uint32_t cycle, PWM PWN_PINS)
    {
        if ( ChannelNum == 1 )
        {
            LPC_PWM1->MR0 = cycle;
            LPC_PWM1->MR1 = PWM_PINS.PWM_1;
            LPC_PWM1->MR2 = PWM_PINS.PWM_2;
            LPC_PWM1->MR3 = PWN_PINS.PWM_3;
            LPC_PWM1->MR4 = PWM_PINS.PWM_4;
            LPC_PWM1->MR5 = PWM_PINS.PWM_5;
            LPC_PWM1->MR6 = PWM_PINS.PWM_6;

        }
        return;
    }
4

2 回答 2

4

您声明了一个名为PWN_PINS(with an N) 的参数,但您指的是PWM_PINS(with an M)。

修复此错字将解决此特定错误。不过,可能还有更多错误 - 很难说,因为片段没有显示重要部分,例如LPC_PWM1变量的声明。

于 2012-11-12T03:29:37.963 回答
2

代码中有拼写错误吗?

函数参数为PWN_PINS。但代码有 5 个PWM_PINS和 1 个PWN_PINS

我认为您应该做的是将所有PWN_PINS更改为PWM_PINS

于 2012-11-12T03:45:29.903 回答