Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Odd counter problems (http://www.chiefdelphi.com/forums/showthread.php?t=25405)

Ryan M. 16-02-2004 15:12

Re: Odd counter problems
 
Quote:

Originally Posted by steven114
Try
Code:

printf("Test\n");
instead. If it works anything like printf on any other system, it won't flush the buffer until it gets a newline...

Yeah, that is true, but it did print for him. The wierd thing is, at least from what he has said, the line that is right below it doesn't say print anything, even though it should. :confused:

Catastrophy 16-02-2004 15:23

Re: Odd counter problems
 
Well for the variable, it print Arm and then nothing after it.

Ryan M. 16-02-2004 15:24

Re: Odd counter problems
 
Could you paste the output from the code here?

Ryan M. 16-02-2004 15:26

Re: Odd counter problems
 
Well, I can't figure it out. It should work. Any suggestions, The Lucas?

--EDIT--
I know you're watching. :)

Ryan M. 16-02-2004 15:32

Re: Odd counter problems
 
Obviously not. Try:
Code:

printf("Arm: %d", armcounter);
--EDIT--
If that doesn't work, I don't know what to do. Sorry. :(

Catastrophy 16-02-2004 15:33

Re: Odd counter problems
 
1 Attachment(s)
Here is a screenshot.

Ryan M. 16-02-2004 15:34

Re: Odd counter problems
 
I edited my last post. Take a look at it. Sorry I can't be of any more help. :(

--EDIT--
Someone else will come along and figure it out I'm sure. :)

Catastrophy 16-02-2004 15:38

Re: Odd counter problems
 
Ok now nothing is being printed Texan from what you said to put in.

-EDIT-
its saying TestAmr, 15TestArm, 15TestArm over and over now

Ryan M. 16-02-2004 15:40

Re: Odd counter problems
 
Quote:

Originally Posted by Catastrophy
Ok now nothing is being printed Texan from what you said to put in.

I don't know what is going on. Try resetting the RC. Sorry, got to go. Hope you figure it out. :confused:

Catastrophy 16-02-2004 15:45

Re: Odd counter problems
 
Well its counting now.

Joe Ross 16-02-2004 15:50

Re: Odd counter problems
 
Quote:

Originally Posted by Texan
Try changing the %i in the printf to %d.

Remeber that IFI implemented printf and that it isn't a "standard" implementation. Only the %s, %lx, %d, %x, %u, %X directives are parsed.

Catastrophy, is your problem fixed now that it is counting, or do you have more problems?

Ryan M. 16-02-2004 15:58

Re: Odd counter problems
 
Quote:

Originally Posted by Joe Ross
Remeber that IFI implemented printf and that it isn't a "standard" implementation. Only the %s, %lx, %d, %x, %u, %X directives are parsed.

Catastrophy, is your problem fixed now that it is counting, or do you have more problems?

Oh, didn't know those limitations. Thanks

Catastrophy 16-02-2004 16:14

Re: Odd counter problems
 
well the motors still arnt stopping.

Joe Ross 16-02-2004 16:40

Re: Odd counter problems
 
Quote:

Originally Posted by Catastrophy
well the motors still arnt stopping.

Please post the code that you are using currently.

If you are using the corrections that Rob posted, pwm06 will go forward for about 1/3 a second and then go in reverse forever. You also have a similar behavior for pwm07 (assuming you corrected the errors)

deltacoder1020 16-02-2004 17:10

Re: Odd counter problems
 
Quote:

Originally Posted by rbayer
A few things I saw after glancing at it:
Code:

if (armcounter = 15) //will raise arm.
  pwm06=0;
else
  armcounter++;
  pwm06=255;

sould be
Code:

if (armcounter == 15) //will raise arm.
  pwm06=0;
else {
  armcounter++;
  pwm06=255;
}

It is VERY rare that you'll actually want to use a single = in an if, so watch out for that, and also be careful with your curly braces.

That said, I believe the code in its original form should have printf'd 15 over and over and over. Was it doing that, or just not printing anything?

remember that you need to add the curly braces, not just change the equals sign to a double-equals. w/o the braces, the code is equivalent to this:

Code:

if (armcounter == 15) //will raise arm.
  pwm06=0;
else {
  armcounter++;
}

pwm06=255;

note how pwm06 will always end up as 255, no matter what the value is.

you said that the "motors weren't stopping" - of course they aren't: 0 is full reverse, 255 is full forward. if you want a motor to stop, set the PWM to 127.


All times are GMT -5. The time now is 05:59.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi