Jump to content

Picxie

Moderator
  • Content Count

    277
  • Joined

  • Last visited

Everything posted by Picxie

  1. Are you doing a write before the read. If so it is possible that the write may still be in progress, in which case the read will not happen. Your function should check to see if the WR bit is set and wait till it clears before attempting the read.
  2. you are clearing rp0 before returning so when you try to return eedata you are returning the contents of a file in bank 0.
  3. How about posting a snippet of code where the error lies rather than expecting us to go offsite looking for it?
  4. Boostc 6.55 PIC18 these abuses should produce errors. They dont. void mysteryMachine( int monster, char scooby) { char monster; void mysteryMachine( int monster, char scooby) { char * monster; monster = &theJanitor; The second one throws a warning when you try to put the address of theJanitor into monster.
  5. This has been resolved at Labcentre's forum. see http://support.labcenter.co.uk/forum/viewtopic.php?t=484 Mr Nobody hasnt bothered to come back and tell us.
  6. This has been resolved at Labcentre's forum. see http://support.labcenter.co.uk/forum/viewtopic.php?t=484 Mr Nobody hasnt bothered to come back and tell us.
  7. It would be nice to be able to lock the dockable toolbars in the IDE. This feature is available as a menu option in InternetExplorer under Menu/View/Toolbars/Lock the Toolbars
  8. Yes Constants in the code (as rom char*)so I can refer to them eg println(SYS_DATE); As I imagine it, each would have a known fixed length, the compilor would reserve space for them but I would expect the linker to hunt them down and populate them with the build time values. I dont think it will require any compilor changes. All that is required is for the preprocessor to insert the appropriate var eg rom char * SYS_DATE = {"dd:mm:yyyy",0};
  9. How about a few system strings eg called SYS_DATE, SYS_TIME, SYS_DATE_AND_TIME and SYS_BUILD which get added when used pragmas such as USE_SYS_DATE, USE_SYS_TIME, USE_SYS_DATE_AND_TIME and USE_SYS_BUILD. The linker could then insert the correct time and date and increment and insert an incremented build number (which could be kept in the project file) These would be quite handy.
  10. I've tried it on PIC18 with Sourceboost 6.55 with various combination of toto and AD_Result as ints and chars. I have checked the list files and at no point is AD_Result written to. I must agree with cac001, Your problem must lie elsewhere. Are there any more details you can provide which may help? I built a sample program like this: // BoostC 6.55: no bug found // BoostC 6.40: no bug found // // File: bug10.C // Target: PIC16F648A // OS: WinXP, SP2 // SourceBoostIDE: 6.40 and 6.55 // Compiler: BoostC 6.40 and 6.55 // Reproducible: never // Expected behavior: // //
  11. Igf you goggle for megab0rt there are 1500 hits, the first link is for his profile at teeside online, he claims to be a webdesigner from the USA. Most strange! Rather strange spam - I don't see its point. Regards Dave <{POST_SNAPBACK}>
  12. Do you mean .htaccess? In which case I would recommend googling for htaccess or asking the question in a forum relevent to web design If your question concerns embedded programming on microchip PIC, then perhaps you could elaborate further as to what you are after.
  13. Not to worry. Lets start off from scratch to get a very simple sourceboost project working and then you can apply all of cac001's advise. When you start sourcboost IDE the work area is split into three sections. If you dont see these go to the view menu and select "Workspace" and "output". Sourceboost uses projects to manage all the file compilation and linking. You need a project otherwise it just wont work. Go to the project menu and select new. Name and save your new project, a dialog box will pop up with options regarding the project, select "empty with source file" You sh
  14. Is the file with the main function added to your project, ie is it listed in the project window to the left of the main edit window. If not select add files from the project menu.
  15. Nice to see that the compiler now generates a warning for function calls in main and interrupt thread. However boostc18 does not generate a warning for a function called in main and interrupt_low sourceboost 6.50, boostC18 void test() {} // ------------------ void main() { while (1) { test(); } } // ----------- void interrupt() { test(); } // ------------ void interrupt_low() { test(); } try compiling the above commenting out the calls to test at various places calls in main and interrupt generate a warning calls in interrupt and interrupt_low generate a warning calls in
  16. Warning messages appear fairly high up in the output window and tend to get scrolled out of sight and so get overlooked. It would be better if there was some indication of the presence of warnings at the final message eg 'Done- with x warnings'
  17. You can also try using a download accelerator such as Star Downloader see http://www.stardownloader.com/ for a free version Star downloader will try to resume downloading in the event of a dropped connection rather than starting from scratch. In these days of broadband its still very usefull considering how 'reliable' BTs conection is.
  18. PIC16 architecture has no easy way of accessing data stored in rom space. The boostc and c2c compilers use the method detailed in this app note from Microchip. http://ww1.microchip.com/downloads/en/AppNotes/00556e.pdf
  19. How about a code snippet? are you doing this rom char* romArray = {1,2,3,4}; or this const char notARomArray [size_OF_ARRAY] = {0,1,2,3,4 }; The first type creates an array in ROM and due to the limitations of PIC hardware, some support code to access it. The second type creates an array in ROM and generates code to copy it to a RAM array at startup. Search your asm file for you array's name to see whats going on.
  20. Picxie has already mentioned the PIC16F family read/modify/write problem (hint for future projects throw away the 16F and use 18F family) The second problem is the return statement. Try this... void main() { trisc = 0; portc = 0; set_bit(portc,0); set_bit(portc,1); while (1) ; // do nothing } <{POST_SNAPBACK}> bollox! pressing preview instead of submit, followed by IE's back button then submit reply totally loses your reply! any how, return should only be used for premature return from a function or to return a value from a function, otherw
  21. AC couple an amp stage(or just a ceramic resonator) to an output port pin. Waggle pin up and down to make an AC waveform
  22. The problem which is common with PIC16 ports is called "read modify write" see http://sourceboost.ipbhost.com/index.php?a...nter&f=1&t=1578, the problem is explained there.
  23. Andrew The OP is using a PIC16F877 which has no hardware multiplier the lines head %= buffer_length; tail %= buffer_length; are going to generate an awful lot of code The longer C statements // update and limit buffer index if(head >= buffer_length) { head = 0; } will generate less assembler In the old days I would have been happy to use the very short and sweet head &= buffer_length - 1; which is great for when buffer_length size is 2 POW n, however it tends to fall over when later someone comes along and changes buffer_length to 36.
×
×
  • Create New...