PSoC™ 5, 3 & 1 Forum Discussions
I'm trying to edit an existing component to replace a hardware digital input pin with a digital input terminal, so I can control it from my schematic directly, rather than connecting it to a hardware GPIO. But how do I access the value of the terminal from inside the component? It doesn't have a read() function like a pin does? Do I need to connect it to a control register or something? All it does is read a true or false value from the surrounding circuit.
It would be simpler if I didn't need the terminal at all. Is there a way to have a component get a truth value from the containing schematic/program other than using a terminal? Maybe the component exposes a function that lets the containing project modify it's internal state? But the opposite would be better: if the component could query the containing project's state.
Show LessHi Team,
I am using serial port- DB9 connection. I am using below code. But i am getting the below output.
int main(void)
{
uint8_t c;
CyGlobalIntEnable; /* Enable global interrupts. */
UART_Start() ;
UART_PutString("\x1b[2J\x1b[;H") ; /* clear screen */
UART_PutString("This is an ECHO program\n\r") ;
for (;;) {
c= UART_GetChar();
if(c=='L')
UART_PutString("Light");
else
UART_PutString("Dark");
//if (UART_GetRxBufferSize() > 0) { /* received some data */
// c = UART_GetByte() ;
// if ((c != 0) && (c != 0xFF)) {
// UART_PutChar(c) ;
// }
// }
}
}
Show Less
Greetings,
We are using CY8C5888AXI-LP096, which P4_2, P4_3, P4_4, P4_5, P4_6 GPIOs are configured as camera power enable pins. Basically, they are connected to the base of a bipolar transistor (MMBT3904TT1G), which activates SI2399DS-T1-GE3. The latter, in turn provides 3.3V to the cameras. At elevated temperatures (above the max rated temperature for these cameras), cameras stop being detected. We probed the power enable pin and discovered that it stayed low. We assumed that the PSoC was trying to protect its GPIOs from wither over-current or over-voltage.
We didn't understand, however, why this interlock was activated for ALL these GPIOs (P4_2, P4_3, P4_4, P4_5, P4_6) though only one of the cameras got over-heated. Any ideas?
Show LessHi everybody,
I'm coding a adc lecture (14 bits) to SRAM with DMA. The idea is, save the row size of flash (255 bytes) first on the SRAM. When the transaction is complete, move the SRAM data to the flash.
The problem is simple, i got mi DMA configured on 0x1fff8000, so i will use to 0x1fff80ff, but using the transfer count with 255 bytes, crash the program, but using around 60 transfer count never crash on the debug process (the data limit it's 4096 if i'm not wrong).
The next step it's stop when the 255 bytes are wrote on SRAM for later write to flash using CyWriteRowData();
Regards and thanks in advance,
Xavier.
Show LessI want to shift *a lot* of bits out in a steady stream (without gaps between the bits).
So I set up a Shift Register for a test. I set it up to be 32 bits. I sent the output into a pulse convertor to get a 2us pulse out no matter the width of the input pulse.
I then ran the DMA AN52705 project and realized that was not what I wanted. (too long between bits, plus some suspicion of when the bits went out)
I then set up a single shift register for 32 bits and wrote 0x55555555L into it. I got 16 pulses. good.
So then I tried reading the Fifo, which the *Documentation* says is there.
After much experimentation, the Shift Register Documentation is wrong. You do not get an input fifo unless you use the Load signal. If you use the Load signal, you must programmatically control the loading of the Shift Status Register when the shift has ended. There are no indications the shift has ended from the component, as the "Store" signal must be controlled programmatically also.
About the only way to really use the component is to make sure you don't select the load and store signals, and put a lot of hardware or firmware around the shift component to provide you with an indication of when the shift has ended so you can either generate a load pulse or programmatically load the shift register.
Has anyone done this?
Show Less1. USBUARTの受信バッファは
USBUART receive buffer is,
(a) 何Byte有るでしょうか。
How many bytes is it?
(b) そのバッファー数は、マクロか何かで知ることか出来るでしょか。
Is it possible to know the number of buffers with a macro or something?
(c) そのバッファー数を変える事可能でしょうか。
Is it possible to change the number of buffers?
2. USBUARTは受信で割り込みを発生できるでしょうか。
Can USBUART generate an interrupt on receive?
Best Regards.
Show LessHi,
We are considering PSOC5LP.
< Use subsystem and component >
- USB FS
- Timer interrupt : priority default <7>
- USB interrupt : priority default <7>
- UART Tx and Rx interrupt : priority default <7>
- Sleep mode
<The process that causes the problem>
PSoC5LP goes to sleep,
Wake up with a timer interrupt.
We have a question about the USB resume processing performed within the timer interrupt.
We understand that in the USB resume processing, it is necessary to recognize the PICU interrupt of the USB Dp pin input.
However, if the default interrupt priority is kept, resume processing will not operate properly.
The following is the USB suspend and resume processing program executed in CY_ISR.
------------------------------
CY_SET_REG8(CYREG_PICU15_INTTYPE6, USBFS_Dp_INTR_FALLING);
USBFS_Suspend();
// Sleep until interrupt of USB Dp
do
{
CyDelayUs(20);
CyPmSaveClocks();
CyPmSleep2(PM_SLEEP_TIME_NONE, PM_SLEEP_SRC_PICU);
CyPmRestoreClocks();
CyDelayUs(20);
}
while (!(CY_GET_REG8(CYREG_PICU15_INTSTAT) & 0x40));
CY_SET_REG8(CYREG_PICU15_INTTYPE6, USBFS_Dp_INTR_NONE);
USBFS_Resume();
------------------------------
LED turn-off processing before this program,
LED lighting processing is added after the program.
Then, We have confirmed that it does not light up after "USBFS_Resume".
It seems that I can't get out of the loop and reach the last USBFS_Resume.
So the following question.
1.
In the above program,
CYREG_PICU15_INTSTAT is used to determine the end of the loop.
By raising the priority of UART_RXInternalInterrupt and UART_TXInternalInterrupt, the same program can exit the loop.
At this time, the UART is not communicating, so the UART interrupt is not used.
Do you know the reason or relationship to get it working?
2.
Regarding the interrupt priority, all other interrupts are set to Default <7>.
If the priority of only UART_RXInternalInterrupt and UART_TXInternalInterrupt of Interrupts on the cydwr screen is raised 7 to 6 or more,
Can you think of any possible problems?
Regards,
Show LessI am reading an app note written by Cypress which is attached. Actually we are interfacing thermopile attached its datasheet also.
We are able to measure the Vtp of thermopile and convert Rth to NTC_temperature.
Now we have trouble converting these two readings to Object temperature.
Can anyyou tell in a bit more detail how to do it further?
Our area of it interest of object temperature is 35 to 42C and Ambient goes from 0 to 50C.
Show LessWe have developed a data logger based on PSoC5LP, external 32KHz RTC crystal, that spends most of it's time in SLEEP mode (1sec RTC interrupt enabled, short LED status blink). On rare occasions the device freezes, the RTC interrupt stops (no LED status blink). The 32KHz crystal is still running. The only escape out of this condition is a hardware reset.
Q1) Is there a way for us to examine the status of the IMO/PLL/Master & Bus Clocks?
Q2) An External 10 minute Watchdog might solve our problem. What circuit do you recommend for such an external device?
Show LessWhere do you insert the Tune word in order to change the frequency sweep?