Jump to content

jimmain

EstablishedMember
  • Content Count

    13
  • Joined

  • Last visited

Community Reputation

0 Neutral

About jimmain

  • Rank
    Newbrie
  • Birthday 01/01/1908

Contact Methods

  • Website URL
    http://
  • ICQ
    0

Profile Information

  • Location
    Glasgow
  1. Why not set state flags in your interrupt routine and have the delays in the main loop?
  2. I notice that the IDE terminal tab seems to miss characters from my pic. Hyperterminal works fine and never misses any. using 115200 baud 8,N,1 from the pic. Any settings I can tweak?
  3. Can anyone tell me what I'm doing wrong here? I'm using an 18f452 and want to use the hardware usart on portc.6 tx and portc.7 rx. It compiles ok, but when run, the tx port is held fast at logic 1 - no tx'ed data. #pragma CLOCK_FREQ 19660800 #include <system.h> #define bit_time 512 // 9600 baud at 19.6608MHz //#define bit_time 1041 // 9600 baud at 40MHz #define TX_PORT 0x0f82 #define TX_TRIS 0x0f94 #define TX_BIT 6 #define RX_PORT 0x0f82 #define RX_TRIS 0x0f94 #define RX_BIT 7 #define e_SPBRG 0x0faf #define e_RCREG 0x0fae #define e_TXREG 0x0fad #define e_TXSTA 0x0fac #define e_RCSTA 0x0fab #define e_TXIF_PIR 0x0f9e #define e_RCIF_PIR 0x0f9e #define e_TXIF_BIT 4 #define e_RCIF_BIT 5 #define MODE (USART_reset_wdt |USART_HW) #include <rs232_driver.h> void main() { uart_init(1,127); // mode 1 and divisor= 127 delay_s(2); puts("Hello, world\n"); while (1) { putc('x'); } }
  4. Is it possible for lprintf to write a substring to the lcd? eg. I've got a string 254 bytes long, but I only want to print 16 chars to the first line of the display. I tried lprintf("%c",buffer) in a for loop, but that didn't work (no compiler error though).
  5. That would be a rough way of doing it, but only accurate to 10ms and your code won't be doing much else apart from waiting for the pulse. volatile bit rb0@PORTB.0; unsigned int counter; counter = 0; while (rb0); while (!rb0) { delay_ms(10); counter++; } // counter then has counter * 10ms value of pulse width. A better way would be to use portb.0 as the interrupt pin on a falling edge, start a timer in the interrupt routine and change the interrupt to a rising edge before returning. On a rising edge interrupt, read the timer and calculate the pulse width.
  6. Since posting, I've found ICD2Prog.exe, which invokes from a command line - so I can use my ICD2 from within SB IDE. Works fine. thanks for the suggestions tho'
  7. Tried the LCD display plugin with the sample picdem2+ project. Built ok, but when I run it in debug mode, the lcd window disappears? What am I doing wrong? J
  8. I want to replace my ICD2 with a simple, reliable, standalone programmer that I can invoke from within the SourceBoost IDE. It's got to handle Pic16 and Pic18 parts. Suggestions? thnx J
  9. I still get "13 bytes exceeded" if I use that option - could it be that the icd2 code exceeds the amount of allowed ram in the unlicensed version?
  10. Maybe you can post the program so we have an idea of what you are trying to compile. Regards Dave Ok, here it is.. #include <system.h> #include <icd2.h> void main() { while (1); } I've upgraded MPLab to 7.62 and tried reinstalling Sourceboost with the same result. If I take out the icd2.h include, then it compiles ok. Jim
  11. I'm stuck at the same position, having just downloaded sourceboost and trying it out for the first time. (haven't gone for a licence yet) Using MPLab 7.60, ICD2, I tried to build a simple half a dozen lines - got the result shown below. ############################################################## Single user Lite License (Unregistered) for 0 node(s) Limitations: PIC12,PIC16 max code size:2048 words, max RAM banks:2, Non commercial use only vtrtest.c <C:\Program Files\SourceBoost\include\icd2.h> @ 20: MESSAGE: "Including ICD2 declarations (icd2.h)" <C:\Program Files\SourceBoost\include\icd2.h> @ 410: MESSAGE: "Warning: ICD2 Reserved ROM address range:0x1F00-0x1FFF (use linker -rt option)" success Executing: "C:\Program Files\SourceBoost\boostlink.pic.exe" "C:\picprograms\test\vtrtest.obj" "C:\Program Files\SourceBoost\Lib\libc.pic16.lib" -O1 -p "test" -t 16F877A -rt 0x700 BoostLink Optimizing Linker Version 6.81 http://www.sourceboost.com Copyright© 2004-2007 Pavel Baranov Copyright© 2004-2007 David Hobday Optimisation level:1 License exceeded by RAM: 13 bytes, ROM: 0 words You have reached the limit of the Lite License (Unregistered) PIC12,PIC16 max code size:2048 words, max RAM banks:2, Non commercial use only You can upgrade your license. Please visit: http://www.sourceboost.com ####################################################### -rt gives me a 300 byte exceeded, -rt gives the above 13 byte error. I've tried -icd2 as well without success. Jim
×
×
  • Create New...