PSoC™ 5, 3 & 1 Forum Discussions
Hey there,
I'm using PSoC Creator for nearly half a year now and had Problems with multiple ISRs in the past, but could handle them (that "often occuring problem" when you don't use CY_ISR_PROTO).
Now I'm stuck at a Project with five different ISRs and can't find a way out so I hope someone can help me here.
I'm using a CY8CKIT-059 on a self-designed prototyping platform with two Manchester-Coded-Inputs to perform UART-over-USB-Communication with a PC. The Decoding is done by oversampling with help of an SPI-Slave. An Edge-Detector recognises the first Edge of the incoming Signal and Starts the Buffering of the oversampled Data by causing an Interrupt. Each Manchester-Bit is oversampled, next Bits are recognised after the SPI is "full" (2nd Interrupt), which will lead to copying the oversampled data to a buffer. This is done 34 Times as this is the Telegram-Length of the incoming signal. This Hardware-Part is included two times as there are two Manchester Inputs, so there are 4 Decoder-Interrupts. Two for edge-detecting-purposes, and two to recognise a finished oversampling. I implemente3d those Interrupts as external ones to implement my own code and all four use the mode "RISING-EDGE", which worked well in some other Projects with the same need for Manchester-Decoding, but all in all 2 Interrupts per Project (one declared as CY_ISR_PROTO, one as CY_ISR, both defined with CY_ISR ).
The fifth Interrupt is used to recognise an incoming UART-Byte (Used to control the System).It also uses the mode "RISING-EDGE" and has the highest priority in the system. I also have tested the UART-Part in other Projects and never had a problem.
Now I have this project where I want to use all this parts together. Two Manchester-Decoder and the UART-Part, as you can see in the Attached Picture. I also added the code with all the hardware-starts and Interrupt parts in it. When I comment all Interrupts except the one for UART, the ISR will work, but more than one ISRs don't work.
I tried different combinations with declaring different ISRs as PROTO, using different priorities and even made the code easier, but nothing helped really. Collisions between the 4 Decoder-ISRs can't be, only with the UART-ISR, but even if there is no Manchester-Code incoming, the UART-ISR doesn't fire.
I hope someone can help me with my problem. If you need additional information, just ask. I will try to answer.
If you find a writing mistake, you can keep it.
Greetings from Germany 🙂
Show Less
I used SmartSense2X_EMC module and Timer16 module together in the project(CY8C22545). The Timer16 colck resoure is 32K clock. When set SmartSense2X_EMC Immunity Level parameter to Low, the system can enter into the Timer16 interrupt handle code normally. But when set Immunity Level parameter to Medium or High, the system can not enter into Timer16 interrupt handle code. Why? How to settle it?
Show LessI am trying to design a circuit that oscillates at ~48 kHz using hardware muxes and clocks. A picture is attached. PSoC lets me build this design using 2 clocks that are synched on the two muxes. (Master CLK is 48 MHz). It keeps giving me a Warning 1350:Asychronous paths exist from clock2(routed) to Clock1.
Does anyone know why this is happening and how to resolve it?
Thanks!
jk
Show LessHi,
Some time ago i did a project and used SPI_txBufferRead and SPI_rxBufferRead variables to know where in the FIFO buffer i "was".
- SPI_txBufferRead = Transmits buffer location of the last data read from the buffer and transmitted by SPI Master hardware.
- SPI_rxBufferRead = Receives buffer location of the last data read from the buffer by the API.
(This information is at the end of the page 20 of the current SPI Datasheet.)
Now i'm trying to use the same variables and Creator gives me an error "Build error: 'SPI_txBufferRead' undeclared (first use in this function)"
After some checking theres an "announcement" at the end of the SPI.h file:
------------------------------------------------------------------------------------------------------------------------------------------------------------------
/***************************************
* The following code is DEPRECATED and
* should not be used in new projects.
***************************************/
#define SPI_WriteByte SPI_WriteTxData
#define SPI_ReadByte SPI_ReadRxData
void SPI_SetInterruptMode(uint8 intSrc) ;
uint8 SPI_ReadStatus(void) ;
void SPI_EnableInt(void) ;
void SPI_DisableInt(void) ;
#define SPI_TXDATA (SPI_TXDATA_REG)
#define SPI_RXDATA (SPI_RXDATA_REG)
#define SPI_AUX_CONTROLDP0 (SPI_AUX_CONTROL_DP0_REG)
#define SPI_TXBUFFERREAD (SPI_txBufferRead)
#define SPI_TXBUFFERWRITE (SPI_txBufferWrite)
#define SPI_RXBUFFERREAD (SPI_rxBufferRead)
#define SPI_RXBUFFERWRITE (SPI_rxBufferWrite)
------------------------------------------------------------------------------------------------------------------------------------------------------------------
and there's SPI_txBufferRead :/.
So, there's any new way to know in what position of the FIFO i'm?
I need to use it know because i'm having some problems with those FIFOs.
Thanks in advance
Carlos
BTW i'm using CY8CKIT-059 kit
Show LessHow Can i Convert Two individual input pin as BUS? There are two signal Sources and those two need to be converted into BUS form.
Simillarly How can I access individual from a BUS.
Thanks
Show LessHello Everyone,
I want to fire an interrupt on the falling edge of the comparator. I directly attached an interrupt source to a comparator(see attachment), but it only has a rising edge option.
I don't really understand the option "LEVEL".
Looking forward for your help!
Regards
Awais
Show LessHow can i synchronize the speed with which the hardware running on psoc5lp with the speed of execution of code?
Is it possible to synchronize without using ISR?
Thank you.
Show LessHello.
I have a trouble with installing hardware of PSoC FirstTouch Starter Kit CY3270..
I tried the following and feel the hardware (Bridge) may be out of order.
Is my feeling right? Must I try another Bridge?
- Connect the FTMF Expansion Card to the header of the FTPC Bridge ("Cypres Perform" is visible on both)
- Insert it into my computer USB port.
- but nothing occured. There is no dialog that shows "Found New Hardware Wizard".
(With Device Manager open, I cannot see any refreshing the device items in the list when inserting or removing)
Thank you.
Show LessHi,
I am using the CY8CKIT-001 PSoC Development kit with the PSoC 5LP to measure the temperature of five thermistors. Looking at AN6477 shows how to measure thermistors in parallel or in series. However, since I do not want my thermistors to be in series or in parallel, I wanted to modify the PSoC 4 thermistor measurement circuit in Figure 11 to work with the PSoC 5LP since I would not be limited by the number of opamps or DACs this way. However, I was unable to successfully build this circuit because of errors like "Signal "Net_1596" is expected to connect to only one GPIO analog pin but instead it connects to "AMux_CYAMUXSIDE_A". Please fix the connection."
Any suggestions? Attached my projects.
Thanks!
Show LessHi,
I do not understand the option "level" in ISR. Can i use it in order to fire and interrupt based on the rising or falling edge?
If yes then, how?
Looking forward to your help.
Regards
Awais
Show Less