PSoC™ 4 Forum Discussions
Hi Sirs,
We use PSoC4 emulated EEPROM they compiler after get error_address.jpg in *.map file,I find .My_section is by Discarded input sections ,if the use main.c replace this code ,I compiler again the address is normal (good_address) in .map file. Is this a bug in PSoC Creator 3.3? Is there a way to solve this problem?
Thanks,
Lin
Show LessHello,
We have a warning on "const Comm_UART_INIT_STRUCT configUart = {}" of "main.c".
In case of SCB v4.0, The number of members in structure is different between "main.c" and "Comm_UART.c."
Best regards,
Yocchi
Show LessI have written an article on my blog on the process I followed to get an audio clip into a PSoC 4200 MCU (I used the CY8CKIT-049-42xx PSoC 4 Prototyping Kit), and play it back using a TCPWM component. I start with a 44.1kHz 16-bit PCM stereo audio recording (CD quality), and go step-by-step on how to process the audio, reduce the dynamic range (bits per sample) and the sampling rate to reduce the number of bits needed for the clip, how to program the samples into flash so they're accessible to an interrupt handler, and how to use a PWM technique to generate the analog output of the audio. I provide instructions on what is needed with respect to filtering and amplification, but don't go into detail (that's for another post another time probably). I did use the two on-chip op-amps with a few resistors and capacitors to implement a 4th order Chebychev filter and then used an off-the-shelf audio amplifier to drive a speaker. Other than PSoC Creator, all of the software I used is open source or are simple little C programs I wrote myself (and provide instructions on how to duplicate). Spoiler alert: I got about 1.4 seconds of 11-bit 11.025kHz linear PCM audio into the chip (which takes about two thirds of the flash memory). If that's not enough, there are some serial (SPI) flash memories that can hold about 9 minutes at that rate/sample depth (<$4 in qty. 1). I implemented this on a PSoC 4200, but the technique is quite general (and can be used with MCUs that have proper DACs as well).
Here's the link: Stuffing an audio file into a tiny processor chip
Feel free to ask questions here and I can answer them here.
Show LessHi,
I’m using the CY8CKIT-059 as an HSSP to program a CY8C41xxS family microcontroller according to AN84858.
I have some problems to program the device when it is protected.
This are some cases in which I got problems:
- My HSSP operates correctly if the microcontroller has been previously programmed with “PSoC Programmer” and the chip lock is disabled, while if the chip Lock is enabled the HSSP fails.
- When I program the device with the HSSP, then I turn the device off and on, and then I reprogram it with the HSSP the reprogramming faults.
In order to reprogram the device multiple times I need to remove ProgramProtectionSettings() and VerifyProtectionSettings() from ProgramDevice() procedure.
Of course, I need to program the PSoC4 with protection enabled.
Could anyone help me?
Thank you
Maurizio
Show LessHave a
CY8CKIT-042 PSoC 4 Pioneer Kit
When i connect to it using the psoc programmer it look like it connect to my attached module.
I can't update the fw in it because the Utilities -> Upgrade Firmware is greyed out ?
How can i upgrade the fw in the kit ?
Br
Esben
Show LessHi,
I'm running Windows 10 with Creator 4.3 and have a problem that doesn't seem like it's my code (I dare say!), as I've got it down to a very small bit of logic that causes the problem. My hardware has CY8C4246AZI-L423 talking through SPI to four 8x8 LED matrices (MAX7221 drivers). Recently I added text scrolling, which is where I'm seeing the problem and hoped you might be able to help. I stripped down the project to something that just demonstrates the issue and attempted to upload, but it’s still too large. It is uploaded to here: https://1drv.ms/u/s!AhyfeBQ6yeGBpF1o9PF4jRsEuv-q?e=SxRAKA
At line 235 the program creates the final byte sets to be sent out to each display, with a shift factor affecting each. The characters are 4 bits wide, so two are contained in each byte set. That is intended to look like this:
dcbytes[0]=(a<<SH) || (b>>(4-SH));
dcbytes[1]=(b<<SH) || (c>>(4-SH));
dcbytes[2]=(c<<SH) || (d>>(4-SH));
dcbytes[3]=(d<<SH) || (e>>(4-SH));
However, including the code on the right side of the OR turns it into garbage, where all that is displayed is a single vertical line at the right of each matrix. If I comment off that right side, I get roughly what is intended, albeit missing some of the dots in some of the characters as they scroll.
for clarity: (below works but with some "distortion" of the characters)
dcbytes[0]=(a<<SH); // || (b>>(4-SH));
dcbytes[1]=(b<<SH); // || (c>>(4-SH));
dcbytes[2]=(c<<SH); // || (d>>(4-SH));
dcbytes[3]=(d<<SH); // || (e>>(4-SH));
Any help would be much appreciated.
Show LessHello everybody,
Can someone help me find the error in this code, this is an application that measures the pulse duration numerically.
I cannot display the values in the terminal.
I attach my project to this disccusion with the diagram and the code, and also the results displayed on the terminal
Thanks in advance.
Pin assignment:
I have PSoC 4200L card development
Terminal result:
Show Less
Hello,
I am attempting to make my own boards to use the CY8C4147AZI-S465 chips for CAN purposes. we have 2 identical boards. One of them will consistently load all code find. The other will enter the IntDefaultHandler randomly (It will sometimes go into main and sometimes get stuck there) Is there any solid way of troubleshooting this? We realize it maybe either hardware or software related but We have no idea of how to confirm which.
Show LessHi,
The PSoC creator module CyBLE-022001-00 has an inbuilt crystal with a 24MHz, but I need 48MHz clock. How can I use PLL to get this frequency? I didn't find any option for frequency multiplication in clock edit window of the PSoC creator for this module.
Show Less
I consistently see that the start address I am intending to write to is shifted by 64 bytes and cannot understand why.
Using 'Em_EEPROM_Init', I set the start address to 0x7000 (EM_EEPROM_Init(0x7000))
I do a simple write to memory using the EEPROM API's, run the program, and then read the contents of FLASH and see the information is being written to 0x7040 instead of 0x7000.
Does anyone know why this is?
Show Less