Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About H2SO4_on_PIC

  • Rank
  • Birthday 01/08/1973

Contact Methods

  • MSN
  • Website URL
  • ICQ
  • Yahoo

Profile Information

  • Location
  1. Pavel, Dave What are the plans for the new PIC 24 16 bit MCU's in the future? Regards
  2. Pavel take a look at, to get the idea: http://www.freertos.org/ Regards.
  3. Ops, what idiot I am tried this now and your are right. But, i make some test based in your Compiler help file: Bit variables can also have fixed addresses. Their address includes bit position and can have 2 forms: bit b1@0x40.1; //variable located at bit 1 of register 0x40 bit b2@0x202; //variable located at bit 2 of register 0x40 (0x40*8 + 2) I read the word "can" but never think about that like "the compiler can deal with bit variables with fixed adresses, so the compiler assign automatically the adress when I not, like conclusión". For avoid dumies like me, in your next release, please ¿can you add more examples of various definitions forms of bit type in the help file, or better like a simple example file with all definitions possible of type bit?. David A. Valdez
  4. Hello: I have a simple but may be ussefull enhancement to the IDE enviroment to find process. Rapid find: Only "select" the text wath you want to find in the editor windows and press "F3" key to find the next coincidence into the active file. Project files find: when pressing "CTRL+F" keys an new option permit select to search into the all project documents. Converting case: For example pressing "CTRL+U" or anhoter key to toggle the "selected" text to uppercase/lovercase Example: Text -> hello -> "CTRL+U" -> "HELLO" or Text -> HELLO -> "CTRL+U" -> "hello" Showing SorceBoost version in the main windows. SourceBoost IDE - V6.xx [file path + file name] This is for diferentiate the previuos version 5.9.7 to the 6.xx when i have both IDE versions opened. Thanx David A. Valdez
  5. izakdude, i am agreee with you proposed. I have some ideas with examples. Always suppossed what the compiler can do this in automatic form. A) #### Asigning a label to a bit in a variable #### This is a manual form of asignament of bit inside a variable unsigned char state; /* may be declared as int for example*/ volatile bit flgOverflowProc @state.4; /* assign the label "flgOverflowProc" to state.4 bit if was necessary */ if (state.4) /* testing thought a specific bit */ state.4 = 0; or if (!flgOverflowProc) /* testing thought a specific label defined to a bit before */ flgOverflowProc = 1; In some cases may be usefull define variables type like "int" instead of "char", like a multi byte configuration register, to be passed as argument function if this has been defined like a local variable,etc. #### Assigning a label to a bit in an automatic position in RAM defined by de compiler#### This is a automatic form of assignament of bit in an adress defined automatically by the compiler This is a powerfull tool because i not must to think about where my bits flags are asigned. But i assume this involves a challenge and too hardwork to the compiler developers. example: volatile bit flgProcOK; /* Automatic adressing made by the compiler */ if (!flgProcOK) /* testing thought a specific bit asigned automaticlly */ ...; Thanx. David A. Valdez
  6. ¿I am the only one with this problem? Again, somebody can help me? ¿Some body can check that code? PD: The line '#include <general.h>' was deleted in my test code.
  7. Using SourceBoost IDE 5.9.5 and C2C 5.95e Target: PIC16F877 Windows XP pro I am testing the pragma BOOTLOADER, but i can´t get what i want. If i am not wrong using this pragma shift the code to the specified adress. My test souce code: #include <system.h> #include <general.h> asm __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF & _BODEN_ON & _WRT_ENABLE_ON #pragma RESERVE_ADDR_0 asm bsf PCLATH, 3 #pragma RESERVE_ADDR_1 asm bsf PCLATH, 4 #pragma RESERVE_ADDR_2 asm call 0x1800 #pragma BOOTLOADER 0x800 void main(void) { char a; while(1) { a++; } } But when i compile the project and see inside of the generated .lst file, the memory map not display the offset. MEMORY USAGE MAP ('X' = Used, '-' = Unused) 0000 : XXXXXXXXX------- ---------------- ---------------- ---------------- 2000 : -------X-------- ---------------- ---------------- ---------------- All other memory blocks unused. Program Memory Words Used: 9 Program Memory Words Free: 4087 Errors : 0 Warnings : 0 reported, 0 suppressed Messages : 0 reported, 0 suppressed I spect that the code must have an offset of 0x800 instead 0x000. ¿what I doing wrong? hanks for the help. David
  8. Hello: 1) You must enable the internall pull (OPTION_REG) or putting an external pull up(~4,7K to 10K), if your excitation circuit is open collector type. If you excitation circuit is TTL output level, you can connect it directly without pull up resistor to the PIC. 2)Effectively you can generate an IRQ on falling edge. David A. Valdez
  9. Hello: An improvement that him can be done to "button block" and the "LED block" is the one of being able to assign to each button individually, any pin of IO of the microcontroller. For example: In the "BUTTOM BLOCK" or "LED BLOCK" when i put the arrow over button 1 or led 1, pressing secondary button and selecting CONGIFIGURE... And i like asign something like that BUTTON 1 assigned to RA0, with text "RA0" BUTTON 2 assigned to RB1, with text "RB1" BUTTON 3 assigned to RC5, with text "TEXT" and so on to complete the block. With this greater flexibility is obtained. Thanxs David A. Valdez
  10. I like to know when sourceBoost support PIC12F765 debugging. thanx
  11. yes, I agree with this. something like this bit flgTest; ... if(flgTest) { ... flgTest=0; <- instead of clear_bit(...); } It is more easy for implement the source code. ::
  12. Hello, first sorry for my english I have purchased SourceBoost and i am happy using it. When i compile my projects something is usefull some extra preprocessor directives for send messages at the output windows, for check my condicional compilations are success. examples: // directive '#message ...' #ifdef SCL #messaje "compilated for..." <--- Message in the output windows ... #endif // directive '#error ...' #ifndef #error "Definitions are not valid for this conditions" <--- Message in the output windows and the compiler stop #endif For me that may be usefull for checking my source code thanx: David Valdez
  • Create New...