PSoC™ 5, 3 & 1 Forum Discussions
Does CY8CKIT-001 Development kit support CY8C24423A-24PVXA Device?
Hi,
I should make composite usb device with USB HID and CDC.
I can make USB HID and CDC seperately. However, It's not easy to make composite device HID with CDC.
Application notes (AN58726; http://www.cypress.com/?rID=40103 pgae6,7 and Appendix 5) was somewhat helpful but I cant't understand what should I do.
especially I don't know ;
1. What is Interface Association Descriptor(IAD) and How I can write this, what is the rule.
2. and this application notes page7 says "There is also .inf file editing that is required to link the multiple interfaces to the CDC function. However, that will be covered in another application note or example project." I need information to edit .inf file.
help me please~
Show Less
As the opearting frequency of CPU goes higher or BUS clock goes higher the no. of wait states also go higher. Is there a particular reason why the wait states are to be set for recommended values mentioned in the TRM or "0 " wait state will work.
and secondly
On a software reset does the Cache gets cleared?
Show LessI found a forum post that indicates one can increase the sensitivity of CapSense to detect a finger inside a glove.
How would a developer detect (for example) a felt pad or a voltage biased metal probe moved into "contact" with a CapSense button or slider? What approach would you take to experiment with this concept using the -001 DVK?
Thanks and regards
Tim Miner
Show LessOut of curiosity one more question.
What is the rating of diodes in the Pin structure of PSoC. For sure they are meabt for ESD. Any idea on what are their ratings.
Show LessThis is my first I2C project. Seems like something going wrong. Slave is not receiving correct data. The code is provided below for both master and slave. Can anyone debug
Master code
*/
#include <device.h>
uint8 wrData[2]={0xAA, 0xBB};
extern uint8 flag;
void main()
{
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
CyGlobalIntEnable;
isr_Tx_Start();
LCD_Start();
I2C_Start();
/* Uncomment this line to enable global interrupts. */
for(;;)
{
if(flag==1)
{
flag=0;
I2C_MasterClearStatus(); /* Clear any previous status */
I2C_MasterWriteBuf(0x08, (uint8 *) wrData, 2, I2C_MODE_COMPLETE_XFER);
for(;;)
{
if(0u != (I2C_MasterStatus() & I2C_MSTAT_WR_CMPLT))
{
/* Transfer complete. Check Master status to make sure that transfer
completed without errors. */
break;
}
}
LCD_PrintInt8(wrData[0]);
}
/* Place your application code here. */
}
}
/* [] END OF FILE */
Slave code
#include <device.h>
void main()
{
uint8 i;
uint8 wrBuf[10];
uint8 userArray[10];
uint8 byteCnt;
CyGlobalIntEnable;
/* Initialize write buffer before call I2C_Start */
I2C_SlaveInitWriteBuf((uint8 *) wrBuf, 10);
LCD_Start();
/* Start I2C Slave operation */
I2C_Start();
/* Wait for I2C master to complete a write */
for(;;) /* loop forever */
{
/* Wait for I2C master to complete a write */
if(0u != (I2C_SlaveStatus() & I2C_SSTAT_WR_CMPLT))
{
byteCnt = I2C_SlaveGetWriteBufSize();
I2C_SlaveClearWriteStatus();
for(i=0; i < byteCnt; i++)
{
userArray = wrBuf; /* Transfer data */
}
I2C_SlaveClearWriteBuf();
LCD_PrintInt8(userArray[0]);
}
}
}
/* [] END OF FILE */
Show LessDo you have recommendations for someone who wants to attach his CapSense PSoC board via ribbon cable to a board with the CapSense buttons and slider on a nearby but seperate board?
regards
Tim Miner
Show LessGood morning/afternoon/evening:
Well.. I see that I used the M8C_Sleep Instruction when I want to sleep the microprocessor... But, I want configure the time to sleep, in specefic 10 seconds. The homework is make a process each 10 seconds, in general. So, can someone help me?... Thank you very much.
I don´t speak English better than Spanish, so excuse me if you don´t understand me.
Show LessHow can you generate software reset in PSoC?
hi...
today i tried to read a 12 byte data with an UART component of Psoc3, for this i kept the settings of UART in RX mode as
9600 Bits per second (kept with reference to my RFID reader, which is the source for 12 byte data).
Data bits:8,
Parity type:None,
Stop bits:1
Flow control: None,
Clock Selection :Internal clock,
RX Address configuration:
Adress mode: None,
Advanced features:
Break signal bits: None,
Enable 2 out of 3 voting per bit, and disabled CRC outputs.
RX Buffer sizes:12 bytes,
Oversampling rate: 8X
and i have chosen an isr_1 component...
The basic problem what i am facing is, i have written an ISR in such a way that whenever my RFID reader (whose TX-OUT pin connected as RX pin of UART) detects the data, the control will transfer to ISR from main program and remains in ISR till it completes the reading of 12 bytes of data......
when it completes the reading of 12 bytes of data..the control is expected to return to main program..........till now everything is fine.....
but, when the control comes back to main program, it is expected to remain in the main program till the next interrupt occurs..... but, eventhough the control is properly coming back to main program, it is immediatly swithing over to ISR and remains there....
if i disable the ISR interupt, when my ISR routine is executing....after completion of ISR execution control coming back to main program and remains there...but it is not accepting the further interrupts...(as I disabled it).
If i re-enable the interrupt in my main program, the control is not remaining in main program, it is moving to ISR and stuck at one point as commented in the below code......
--------------------/* This is the part of main program which i am having problem*/--------------------------------------
for(;;)
{
// isr_1_Enable();
if(univ==1)
{
univ=0;
/* I WOULD LIKE TO DO MY TASK HERE */
}
}
-----------------------/* This is my ISR */-----------------------------------------------------------------------------------------------
CY_ISR(isr_1_Interrupt)
{
/* Place your Interrupt code here. */
/* `#START isr_1_Interrupt` */
/* Check the UART status */
/* Check the UART status */
univ=1;
isr_1_Disable();
/*---- This is where my control stuck when i uncomment // isr_1_Enable(); in main program. ----*/
for(i=0;i<12;)
{
ch = UART_1_GetChar();
// /* If byte received */
if(ch > 0)
{
text=ch;
i++;
}
}
/* Finally 'text' contains my received data, so that i can use it for further analysis */
/* `#END` */
/* PSoC3 ES1, ES2 RTC ISR PATCH */
#if(CYDEV_CHIP_FAMILY_USED == CYDEV_CHIP_FAMILY_PSOC3)
#if((CYDEV_CHIP_REVISION_USED <= CYDEV_CHIP_REVISION_3A_ES2) && (isr_1__ES2_PATCH ))
isr_1_ISR_PATCH();
#endif
#endif
}
Here i am beleiving that, once my RFID reader receives the 12 byte data, interrupt become enabled and the control moves in to ISR...whenever, it completes the execution of ISR it moves back to main program....but still the interrupt (which became active due to previous read of RFID data) is in active state, therefore it is immediately moving to ISR without staing in the main program....because of not having 12 byte data second time it goes....it remains stucked at that poit....
now, can any one help me how to make my code, to remain the control in the main program itself (when it comes back from ISR) untill the next interrupt comes..
NOTE: Here iam attaching a ZIP file...you can go through it.
Show Less