Jump to content

MarkM

EstablishedMember
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

0 Neutral

About MarkM

  • Rank
    Newbrie
  1. Hi My code includes this function: static void lcd_graphic_rawput(unsigned char *charsrc, unsigned char row, unsigned char nrows, unsigned char col, unsigned char ncols) { unsigned char r, c; for (r = 0; r < nrows; r++) { for (c = 0; c < ncols; c++) { if (charsrc[(r >> 3) * ncols + c] & (1 << (r & 00000111b))) lcd_graphic_setXY_internal(col + c, row + r); else lcd_graphic_clearXY_internal(col + c, row + r); } } for (r = (row >> 3); r <= ((row + nrows) >> 3); r++) { lcd_pageMin[r] = min(col, lcd_pageMin[r]); lcd_pageMax[r] = max(
  2. OK when I get another one that reliably crashes, I'll send it in. I assume the compiler not MPLAB because the compiling stops abruptly, but the IDE doesn't disappear, so I conclude that a subtask not the main task is doing this.
  3. Hi I'm using this compiler: Executing: "C:\Program Files\SourceBoost\boostc.pic18.exe" flash.c -O1 -W2 -v -t 18F4523 -I boostc_libs_r1_3\libs BoostC Optimizing C Compiler Version 6.87 (for PIC18 architecture) http://www.sourceboost.com Copyright© 2004-2008 Pavel Baranov Copyright© 2004-2008 David Hobday Licensed to Mark Murray under Single user Full License for 1 node(s) Limitations: PIC18 max code size:Unlimited, max RAM banks:Unlimited, Non commercial use only ... and it rather too often fails with the error found in the attached file. Often you can ignore the
  4. Aaaaah! If I do ... rom char *foo = { 1,2,3 }; ... instead of ... rom char foo[3] = { 1,2,3 }; ... it works! Funny, that - I was expecting the compiler to treat the two as equivalent. No worries. M
  5. Hi I want to use a series of "rom char foo_1[256]" arrays to initialise an EEPROM. When I try to do this with 8 of them, I get this: Executing: "C:\Program Files\SourceBoost\boostc.pic18.exe" flash.c -O1 -W2 -v -t 18F4523 -I boostc_libs_r1_3\libs BoostC Optimizing C Compiler Version 6.87 (for PIC18 architecture) http://www.sourceboost.com Copyright© 2004-2008 Pavel Baranov Copyright© 2004-2008 David Hobday Licensed to Mark Murray under Single user Full License for 1 node(s) Limitations: PIC18 max code size:Unlimited, max RAM banks:Unlimited, Non commercial use only f
  6. Hi I'm using Executing: "C:\Program Files\SourceBoost\boostc.pic18.exe" flash.c -O1 -W2 -v -t 18F4523 -I boostc_libs_r1_3\libs BoostC Optimizing C Compiler Version 6.87 (for PIC18 architecture) http://www.sourceboost.com Copyright© 2004-2008 Pavel Baranov Copyright© 2004-2008 David Hobday Licensed to Mark Murray under Single user Full License for 1 node(s) Limitations: PIC18 max code size:Unlimited, max RAM banks:Unlimited, Non commercial use only With the following data structure (generated using a script) static unsigned char *eepromlist[] = { digit_18x24_0,
  7. Hi I'm trying to compile a bit of C with the following fragment in it: struct icon { unsigned char x, y; } icon[6] = { // This is line 89 { 10, 6 }, { 10, 7 }, { 10, 8 }, { 9, 7 }, { 10, 7 }, ( 10, 9 } }; ... and I get the following error: flash.c Starting preprocessor: "C:\Program Files\SourceBoost\pp.exe" "C:\Documents and Settings\Mark.GRUMPY\My Documents\My Documents\Flash\flash.c" -i "C:\Program Files\SourceBoost\include" -i boostc_libs_r1_3\libs -d _PIC18F4523 -la -c2 -o flash.pp -v -d _BOOSTC -d _PIC18 C:\Documents and Settings\Mark.GR
  8. Hi I'm using BoostC on WinXP under MPLab IDE 8.02. The BoostC is: BoostC Optimizing C Compiler Version 6.84 (for PIC18 architecture) ... and I'm targeting a PIC18F4523. I need a 1k buffer, and organising it as 8 pages of 128 bytes is effective and useful, so I've declared it as: static unsigned char page0[128], page1[128], page2[128], page3[128], page4[128], page5[128], page6[128], page7[128]; static unsigned char *lcd_graphic_buffer[8] = { page0, page1, page2, page3, page4, page5, page6, page7 }; Now if I need to access a particular byte in the buffer, I ought to be
×
×
  • Create New...