Jump to content

Flyer

EstablishedMember
  • Content Count

    13
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Flyer

  • Rank
    Newbrie
  1. Dave Fairly trivial but took me ages to find. The eeprom_read gives an incorrect answer if there is still a write running. It needs the same test for write completion e.g while (eecon1.WR); as the eeprom_write before continuing. Obviously having found it, it can be done outside of the routine but would be better included Best Regards Peter
  2. Douglas Sorry I haven't replied to your other posts - I've been working on something else recently and not looking at this board. Glad you've got it all working and the code was useful. The library rebuild was just a generic to cover my likely future uses. Best Regards Peter
  3. Dave I'm trying to read a fast asynch datafeed that broadcasts 52 characters at 115200 baud (4.5msec) every 1/64th second (15msec). I don't need to capture every packet, two a second would be fine . It appears that unless I do all the processing on the incoming characters polled and with interrupts disabled I am losing characters. Certainly my simple approach of setting a semaphore in the receive ISR does not work even with the receive task set at top priority. Knowing the internals of Novo, can you offer any advice for an optimum approach Thanks Peter
  4. I've just spent a couple of days experimenting with Novo and am seriously impressed. This will simplify all my PIC projects. For example find attached some code for a PIC 16F88 to drive a servo based on the position of a potentiometer (0-5VDC) This uses 3 tasks: The first reads the ADC and waits on a semaphore set in the interrupt routine to signal completion of conversion The second cycles every 20msec to provide the basic timebase for the servo output, it uses the output of the ADC to set up timer1 as a oneshot which provides the variable length pulse, the pulse is turned off in th
  5. OK I've got everthing working now, the update to 6.7 seemed to solve things Best Regards Peter
  6. As requested, using 16F88 with LCD connected to portB only 4 bit bit 0 - RS bit 2 - R/W bit 3 - E bits 4-7 data Works as below with LCD calls commented out, errors as above if enabled Best regards Peter [/////////////////////////////////////////////// // Independant LED flash /////////////////////////////////////////////// // Uses Novo RTOS // // This code flashes two LEDs at independant rates // using 2 task to do this. // // Target Device: PIC16F88 // // Author: David Hobday // // Version History: // V1.0 - 17/09/2006 // Initial release. #include <system.h&
  7. If you post an attachment that contains a simple sample project that demonstrates this issue it would help. Novo RTOS has been used with the standard LCD routines quick successfully. Regards Dave
  8. More info if the call to LCD_setup is after any call to SysCreateTask then a linker error Internal Error: Var not found id:0x10000E01:0x008:0x00000250 in Function 'LCD_Read' happens. The linker succeeds if the call is before SysCreateTask but then the program doesn't operate
  9. Has anyone run RTOS using the LCD routines? The demo routines run perfectly in both the IDE and in circuit, but as soon as I add in calls to the LCD everthing seems to stop. Thanks Peter
  10. Dave Thanks for that - solved Best Regards Peter
  11. Has anyone got a working code example under 6.21 for the 16F877A using the 10 bit ADC conected to the simulated voltage input source plugin. I can get it working with the real chip fine but can't get anywhere with the simulator which is slowing development. I suspect a bug in the simulator but can't prove it. Thanks Flyer
  12. Yod Set up a PWM frequency to cover the servo pulse length - say 400HZ. Then electronically AND the PWM output pin with another pin that you set positive in the PWM interrupt routine for one cycle every 8. This will give you the correct pulse length and repeat rate. You may be able to do it by setting the PWM pin to an input in the TRIS register for 7 cycles out of 8 but I haven't tried this - the other definitely works. Best regards Flyer
  13. Can I please request that the simulation of the ADC in this chip is considered for the next release. the 877 doesn't have the same registers (ANSEL) and the 88 is now such good value and so functional that it must be the chip of choice (ducks...) I note another user also suffering from this in the support forum Many Thanks Peter
×
×
  • Create New...