View Single Post
  #14   Spotlight this post!  
Unread 02-02-2006, 07:44
BradAMiller BradAMiller is offline
Registered User
AKA: Brad
#0190 ( Gompei and the Herd)
Team Role: Mentor
 
Join Date: Mar 2004
Location: Worcester, MA
Posts: 592
BradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant future
Re: Easy C, loader problem

Quote:
Originally Posted by David Fort
Reset on the RC sometimes gets things working, but plenty of things haven't been working (like Arcade block using pwm 13), so blinking lights create suspicion.
PWM ports 13-16 should not be used with EasyC. Those ports are controlled exclusively by the user processer (i.e. the PWM pulse widths are timed by the user processor) and are not compatible with programs using interrupts heavily.

The problem is that when the IFI function Generate_PWMs is called to generate the values for 13-16 it disables interrupts for about a millisecond. When this happens, any sensors like encoders, the camera, and timers, start loosing data and missing counts. In a non-interrupt environment, there is little problem with doing this, but when our robots have fast devices like the camera which receives 11500 bytes/sec (and without hardware buffers) data will be lost.

BTW, you can use one of those for camera power to free up another port is you aren't already doing that.

You also implied that other things aren't working... please post what you're seeing so that we might be able to help or fix them.
__________________
Brad Miller
Robotics Resource Center
Worcester Polytechnic Institute