Trouble using the Delay10msTimes function from "Delay.h" in PSoC 3

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I want to use the Delay10msTimes function from the article here http://www.cypress.com/?id=4&rID=47960 .

I unzipped the delay.asm and delay.h files and included them in my project.  I included the .h file using the "#include <delay.h>" line of code.

The code in the "delay.h" won't compile.  I get the following warnings & errors:
WARNING: DELAY.H:12: unknown #pragma, line ignored
WARNING: DELAY.H:13: unknown #pragma, line ignored
WARNING: DELAY.H:14: unknown #pragma, line ignored
ERROR: DELAY.H:19: syntax error near 'Multiple', expected ')'
ERROR: DELAY.H:20: syntax error near 'TenMstimes', expected ')'

I want to create a 1 second pulse on a pin.  I was going to do this with the following code:

Timer_Reset_1_Write(1);  //Set the PIN High
Delay10msTimes(100);     //Wait 1 second
Timer_Reset_1_Write(0);  //Set the PIN Low
 

0 Likes
4 Replies
Anonymous
Not applicable
        That application note is for PSoC1. The cyutil.h file in a PSoC3 creator project automatically gives you: Delay(msec),DelayUs(microseconds), and DelayCycles(clock cycles). Just call Delay(1000); and you'll be in a software delay for one second.   
0 Likes
Anonymous
Not applicable

As mentoined by lkoziarz the Knowledge base article is related to PSoC1. For PSoC3 however the delay functions are generated by PSoC Creator. The functions include:

   
        
  • CyDelay(uint32 milliseconds), that generates delay in multiples of milliseconds
  •     
  • CyDelayUs(uint16 microseconds), that generates delay in multiples of microseconds
  •     
  • void CyDelayCycles(uint32 cycles), Delay by the specified number of cycles using a software delay loop.
  •     
  • void CyDelayFreq(uint32 freq) , Sets clock frequency for CyDelay.
  •    
   

The references and explanation for the same can be found in the "System Reference Guide". The same can be accessed from PSoC Creator, Help --> Documentation --> System Reference Guide.

   

The definitions for these functions in PSoC creator can be found in "CyLib.c".

   

-U2

0 Likes
Anonymous
Not applicable

 Thanks for clarifying the subroutine names, I was going from memory.  When you get that version of PSoC Creator for Linux ready, it will be quicker for me to have it handy all the time...  😃

0 Likes
Anonymous
Not applicable

Thank you for the responses. If I were to implement the same delay in PSoC5 I would then need to look at the System Reference Guide in order to find the appropriate function and header file?

0 Likes