|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
Syntax Error: externs, structs, and macros
Here's the thing: I'm getting a syntax error in 2 seperate lines that are probably related. I have narrowed it down to the point that I know that it is not the next or previous line.
They are: Code:
BEGIN_MOTOR_LIST(motor_list) MOTOR(STRAIGHT, LeftDrive, OI_Left, 0, 0, 0, 0, 0, 254, 254) //ME! ME! //... END_MOTOR_LIST Code:
REF_MOTOR_LIST(motor_list); Code:
#ifdef _MOTORS_H_
#define _MOTORS_H_
typedef enum {NONE,STRAIGHT,POSITION,FISHER} MotorType;
struct motors
{
enum Motor type;
char* pwm;
char* oi;
char pot;
char pot_min;
char pot_max;
char pot_center;
char pwm_min;
char pwm_max;
char pwm_change;
}
#define BEGIN_MOTOR_LIST(name) struct motors rom name[] = {
#define END_MOTOR_LIST {NONE, 0, 0, 0, 0, 0, 0, 0, 0} };
#define REF_MOTOR_LIST(name) extern struct motors name[]
#define PTR_MOTOR_LIST(name) struct motors *name
#define MOTOR(type,pwm,oi,pot,pot_min,pot_max,pot_center,pwm_min,pwm_max,pwm_change) {type, &pwm, &oi, pot, pot_min, pot_max, pot_center, pwm_min, pwm_max, pwm_change },
void DoMotors(PTR_MOTOR_LIST(motorlist));
#endif
Code:
char LeftDrive, RightDrive, E2; #define OI_Left p1_y Enlightenment? |
|
#2
|
|||
|
|||
|
Re: Syntax Error: externs, structs, and macros
Code:
#define MOTOR(type,pwm,oi,pot,pot_min,pot_max,pot_center,p wm_min,pwm_max,pwm_change) {type, &pwm, &oi, pot, pot_min, pot_max, pot_center, pwm_min, pwm_max, pwm_change },
|
|
#3
|
||||
|
||||
|
Re: Syntax Error: externs, structs, and macros
I didn't spot anything wrong off-hand (other than the space noted by the previous poster, but I'm guessing that was a copy/paste problem?). Something you might try to narrow down the problem is pre-processing the C file to see how your macros worked out. There should be a cpp18.exe as part of the MCC18 package - this is the C preprocessor. Just run:
Code:
cpp18 {filename}.c -I{path to MCC18 include directory} > {filename}.pre
|
|
#4
|
|||||
|
|||||
|
Re: Syntax Error: externs, structs, and macros
Quote:
Quote:
![]() |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|