You are here

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

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

Summary: 4 Replies, Latest post by sjac14 on 12 Apr 2011 02:12 PM PDT
Verified Answers: 0
Last post
Log in to post new comments.
sjac14's picture
6 posts

I want to use the Delay10msTimes function from the article here .

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

lkoziarz's picture
7 posts

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.

uday's picture
Cypress Employee
569 posts

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".


lkoziarz's picture
7 posts

 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...  =)

sjac14's picture
6 posts

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?





Log in to post new comments.