PSoC™ 5, 3 & 1 Forum Discussions
text.format{('custom.tabs.no.results')}
Hello! I was hoping someone with more insight than myself might be able to point me in the right direction.
I am using a PSOC LP5 (CY8C5888LTI-LP097 on the CY8CKIT-059). I used the UART_FULL_DuplexExample project as a base which enables printf by rewriting the _write function. All this works as expected. However, when I needed to print floats to the screen I had to up the heap size from 0x300 to 0x400 which makes sense to me.
Here is the real confusing part for me. I made the following function for some debugging. There is an interrupt that decrements the timer variable every 1ms. It should print /hi every 100 ms.
//Initialize display delay to zero
g_Timer_Display_Delay_ms = 0;
for(;;)
{
if(g_Timer_Display_Delay_ms == 0)
{
g_Timer_Display_Delay_ms = 100u; //Reset timer
Pin_Debug_Write(!Pin_Debug_Read()); //Toggle pin for testing
//Print values
UART_PutString("/");
printf("hi");
}
}
If I periodically increase the heap size :
- 0x400 Pass
- 0x500 Pass
I get the expected output:
/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi
/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/hi/
But when I increase the heap size further:
- 0x600 FAIL
At 0x600 I get the following output:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihi
hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihi
hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihi
hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihi
hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihi
hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihi
hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihi
hihihihihihihihihihihihi///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
I have the debug IO on a scope and it is toggled at a constant at 100ms so the printf function is not blocking. It seems to buffer a whole bunch of characters and then spits it out 51.3 seconds later! The compiler has no warning about the heap size allocation. I expect I am exceeding some memory limit and stepping on some control register or buffer somewhere?
Show LessWe are using the EMIF and try to check the connection via several test sequences. With the 8-bit macros (SET, GET) we get the correct values returned, although the memory window only shows the values on even addresses. The odd addresses display always 0x00 all over the 64 k of the external SRAM (starting from 0x60000000).
Are the displayed values correct? And does it mean I place (SET) my "odd-test-byte" somewhere else and I read (GET) it back from that wrong location?
Or does the memory window always expects a 16 bit SRAM, and therefore doesn't display the odd values?
Show LessHi, currently trying to get a PSOC working for a class project, but am getting some vague errors when trying to build my project. I suspect it has something to do with my trying to import the queue header? I'm running PSOC creator 4.3. Project files attached below.
I appreciate the help!
Show LessHello, I'm new to the community.. I have a query ... my project uses 2 psoc 5lp, A) a temperature sensor that is distant with a psoc and B) another psoc with a 16x2 lcd plus LEDs that indicate an action ... my problem is how I can receive the data that A) sends to process it and perform actions to turn LEDs on and off with the psoc B) additional data: the bluetooth modules are perfectly linked and I receive the data in char format which I print on the screen. But I do not know how to process it and perform actions such as turning on and off the led when exceeding a temperature.
Thank you in advance and sorry for my bad English
Show LessDear All:
I am working with a design requiring a digital potentiometer, in this case the MCP4661 from Microchip. Please find attached datasheet of this chip.
To test the potentiometer, I am using CY8CKIT-050 and the Evaluation kit of the potentiometer. See attached, the User Guide of the Evaluation kit of MCP4661 and a photo of the assembly I am using to test it.
I just want to write and read from register of the MCP4661. Write, to set the resistor and read to know the actual value.
I have developed two functions (see attached project) to write and read:
void mcpWrite(uint8 chipAddress, uint8 Register, uint8 Value);
uint16 mcpRead(uint8 chipAddress, uint8 Register);
I have a problem on both functions. When I write with I2CM_MasterWriteBuf, and then, wait until transfer complete with (see line 77, on MCP4661_I2C.c):
if (0u != (I2CM_MasterStatus() & I2CM_MSTAT_WR_CMPLT)),
It never ends, stay in this loop forever.
On the other hand, I2CM_MasterWriteBuf, return I2C_MSTR_NOT_READY
Can anyone give a hand and tell me why I am no able to communicate with MCP4661? Any idea? Any comment will be welcome.
Please find attached also the Evaluation kit schematic that I am using (hand-drawn). The kit is populated with MCP4661 by default, that I want to use.
Attached also the project I am using to test it.
Thanks in adavance,
Joaquin.
Show LessI made a new PCB board with PSOC chip. I installed this new chip program with miniprog3. the card works when I energize it with the programmer. But if I connect an external source it keeps working 1 time, what could be the reason?
Show LessHi My name is YS
and I have a problem with PSoC5LP(marking as CY8C5668AXI-LP034 1425 A 04 624499)
I am using PSoC5LP for a while, everything was perfect for me.
but Yesterday, my PSoC5LP seems to be does not work.
my application not working even UART communication.
so, I attach "Miniprog3" to debug, and suddenly my application work.
I tried another way, press "Reset Button", and my application work.
once PSoC5LP working, every function is working befere Power Off.
BootLoader also working.
but It is not right answer, Press "Reset" button every Power on situation.
I tried to debug with "attach to Runnning Target" and got some data
but I have no idea, what happened and how to debug.
therefore, I shared my problem in this community
Please, give any comment for it.
Thank you.
Show LessHello. My name is YS and I have a question fot Bootloader for PSoC3 or PSoC5 with Wiznet component.
I want to use bootloader function with TCP/IP.
and I found Serial to TCP/IP module(W7500S2E-R1 of Wiznet).
on PSoC side, It communication as UART,
on PC side, It communication as TCP/IP.
but, there is no example for BootLoader with this configuration but UART.
Could you give any information to do this?
Thank you.
Show Less