PSoC™ 5, 3 & 1 Forum Discussions
Hi,
I have 8 digital outputs that are on various pins of the 5LP that I want to control as a port using an 8-bit variable in code.
I created a digital output pin then then set number of pins to 8. I named the port "POWER"
Next I selected "Display as Bus" mapping.
Then I went to "pins" tab and set the pin designation.
I am having trouble setting the value of "PORT" in code.
The intellisense in PSOC creator shows "POWER_0, POWER_1 etc but I cannot work out correct syntax to do equivalent of POWER_Write(23) for instance.
Have I set this up wrong or simply not using corect syntax?
Thanks
Show LessI send info thru a UART and I see that the program stays in Main. I think the timer is not running. I have attached a bundle.
thanks for any advice.
Show LessHi,
I am working on SPI Slave communication using SPI Slave component on PSoC 5LP IC.
SPI Slave component is configured as 8-bit word size CPHA = 0, CPOL = 0 with 4-byte Rx and Tx buffers.
The first byte in the communication determines what will be transmitted afterwards, if bytes will be subsequently sent or received.
Any number of bytes can be transferred. The transmission will be terminated after the SS (Slave Select) signal deaserted, when the waiting time for the instruction byte is set again.
How is it possible to capture deaserting SS singal via SPI Slave component?
There is no flag in the Rx and Tx Status registers to capture the beginning or end of the communication specified by the SS signal.
Thank you
Milos
Show LessHi,
I've setup a DMA transfer from a software buffer (which is filled via an Ethernet receive) to the TX of a UART. I've set it up so when the TX interrupt is fired, it will send a software request to the DMA when the TX FIFO is not full and TX complete are satisfied. I've set it up using a software request as I couldn't seem to get it working from a direct interrupt.
The DMA is initialised each time the Ethernet receives data (due to having a dynamic buffer size). The DMA is setup as 1 TD which is disabled once the transfer count has been completed. This is followed by an NRQ which turns off the UART TX interrupt and tells main.c that the DMA is "free".
This all seems to work fine for the most part. Except, I'm having an issue which I believe is related to the DMA and TX FIFO. If I send a 4MB file down the Ethernet and then check it at the other end of the UART TX, there seem to be characters which are out of place. For example in the below extract from a log, you can see that the word "across" has become malfomed and "he" is missing an "r":
"her feet, for it flashed acrosr he mind that she had never"
It appears from the above that the "r" character has happened 4 bytes before it was supposed to happen and in turn replacing the "s" in "across". Another example is the following below:
Either the well was very deep, or she fell very slowly, fo,r she
In this example, you can see that the "," after "slowly" has appeared again 4 bytes later in "fo,r" but this time didn't replace the "r". My TX UART buffer is of size 4 bytes so this may just be a coincidence but I'm not sure why this is happeneing? There are cases with lower sized files where no errors happen at all but it will always error 10 or so times when sending a large file across the Ethernet to the UART TX. Any ideas why this might be happening would be appreciated?
I've attached a minimal stripped back version of the project if you'd like to view the settings etc.
Show LessDear Sirs and Madams,
We would like to use SysTick Timer of PSoC5LP, However I can't use it well.
Is there a sample project that turns on the LED with a SysTick timer interrupt?
Regards,
Show LessI am trying to output the ADC value onto my LCD screen. I am using PSoC 5LP CY8C5888LTI-LP097
#include "project.h"
#include <stdio.h>
int main(void)
{
CyGlobalIntEnable;
LCD_Start();
ADC_Start();
int32 adcResults;
float adcVolts;
char tmpstr[25];
LCD_Position(0,0);
LCD_PrintString("ADC WORKING");
ADC_StartConvert();
if(ADC_IsEndConversion(ADC_RETURN_STATUS) !=0 ){
adcResults = ADC_GetResult32();
adcVolts = ADC_CountsTo_Volts(adcResults);
sprintf(tmpstr,"%+1.3f Volts",adcVolts);
LCD_Position(1,0);
LCD_PrintString(tmpstr);
}
}
This program breaks on line 16. I am new to PSoC, so please guide me on where am I going wrong...
Show LessI have CYTV2 B-E 1M-SK (Evaluation Board).
According to Quick Start Guide, KitProg3 (driver foe Windows) is needed.
Quick Start Guide says, This driver is TBD, contact Cypress Technical
Support.
Could you please advise me where can I get KitProg3 from ?
Best regards,
Kimio Koyama
QC Dep.
Falcon Denshi K.K.
Show Less
I try to reprogram a CY8C5868LTI-LP039 kitprog with the file "USBFS_Bootloadable.hex" of my project but an error from Windows occurs when I copy the file on the Kitprog: error 0x800703EE (file is invalid)
My project in PSoC Creator 4.3 was successfully compiled and I chose the right hardware for it. For the begin I chose the code example project USBFS Bootloader that is available in PSoC.
In the KitProg User Guide I saw an information about valid versions for bootloading: "The KitProg Mass Storage Programmer supports only PSoC 4200M on the CY8CKIT-044PSoC 4 M-Series Pioneer Kit."
So do I have a noncompatible version of PSoC? Is my Kit in this family? I suppose that bootloading is possible with the Kit because it has the 'Bootloader modus'.
If my software and hardware are ok, please tell me how to solve the problem of copying the file. If I have to change hard- or software, please tell me which is the right one.
Then I have a further question. If I bootload the Kit without a USBFS modul, is it still compatible to do a new bootload via USB with my computer? I want to have an application which communicates via UART but it has to be able to be reprogrammed like now with USB.
Thank you for helpful responses
Show LessHello,
I am currently trying to send more than 8 bits using the EZI2C, but reading the value of the buffer I configured using the bridge control panel, the value I am reading does not exceed 255 or the value actual i want to read is 1000.
I have the impression that the i2c is blocked on 8 bits however I configured the block well by putting sub address on 16 bits.
Here is part of the code :
uint16 i2cbuf[1];
i2cbuf[0] = 0;
I2C_Start();
I2C_EzI2CSetBuffer1( 1, 0, i2cbuf);
i2cbuf[0]=1000;
Is it possible to use i2c to read and write on 16 bits ?
Thanks.
Show LessHello
I want to write to PSoC1 using Miniprog3.
Is there a Cypress recommended socket like the CY3210-MiniEval1?
(CY3210-MiniEval1 has been discontinued.)
If not, do I have to build my own board with the 5 pins needed for writing?
Best Regards
Hayato
Show Less