我在将结构传递给函数时遇到了麻烦,我遇到了错误:
'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;
}
答案 0 :(得分:4)
您声明了一个名为PWN_PINS
的参数(带有N
),但您指的是PWM_PINS
(M
}。
解决此错误将解决此特定错误。但可能会有更多错误 - 很难说,因为代码段没有显示必要的部分,例如LPC_PWM1
变量的声明。
答案 1 :(得分:2)
代码中是否有拼写错误?
函数参数是 PWN_PINS 。但代码有5 PWM_PINS ,还有一个 PWN_PINS 。
我认为您应该做的是将所有 PWN_PINS 更改为 PWM_PINS 。