- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi.
I had similar problems a number of times already with different projects.
Right now my problem is:
I have a design for a BLDC motor controller, which works without problems. Now I'm trying to add UART component. Actually, I'm not even adding it, I'm re-enabling it, because I've already used it before in this design.
There is no physical connection between this UART and any other component in the design (it's only connected to TX pin, RX pin, and an ISR), but after I add it, something happens and the design becomes unusable. Either state machine of the motor controller is altered, or the PWMs are somehow changed, but it just doesn't work anymore.
What does "help" is disconnecting the TX pin from the component, but then I can't use the UART... Tried to use a different pin for TX - didn't help.
The stupid thing is that I've already used this UART before in the design. Same UART, same pins. Just disabled it at some point and now try to use it again.
As I've already said, it's not the first time I have a similar problem with various designs. But in this design I don't know how to work this around, because the UART is stand alone and is not connected to anything else.
Please help!
Solved! Go to Solution.
- Labels:
-
PSoC 5LP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Since you cannot provide us with your project you'll have to check for yourself for the "usual candidates" as
- dangling pointers
- warnings that are indeed errors
- indices out of limits
- clobbered stack
- and many others
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Update:
I deleted the UART and re-added it again using a different name, commenting out everything in my code that uses it - didn't help. It's absurd. The component is just there in the design without anything accessing it, internally or externaly.
************************
Disabling the ISR component HELPED, even though right now nothing is connected externally to the UART. The ISR is supposed to be triggered only "On Byte Received".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Seems to have to do with interrupt. Two things come to my mind:
A bug in the interrupt handler
An interrupt priority issue.
Can you please post your complete project, so that we all can have a look at all of your settings. To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bob.
Unfortunately, I can't send you the project. This is a proprietary design.
The interrupt wasn't enabled in the code (isr_Start() function not called). And there was nothing external connected to the PSoC to generate this interrupt anyway (was supposed to trigger on receiving a byte).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Tried the dummy component. Didn't help.
This UART is for debugging only. Eventually I used it without the ISR.
Now I disabled it again, because I don't need it for now.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When you add the mischievous UART or isr component, can you make sure pin placements are locked ? So that existing routing probably remains same.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
All the pins are always locked .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Since you cannot provide us with your project you'll have to check for yourself for the "usual candidates" as
- dangling pointers
- warnings that are indeed errors
- indices out of limits
- clobbered stack
- and many others
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hello,
an alternative to add an UART without "change" the component placement : the software Transmit UART.
This component is "software only" so the impact on your design could be limited.
yours,
Rob1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the idea. I needed a full UART for this design.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There exists no impact from a UART to other components. Hundred of thousand PSoC implementations prove that. So, when something goes wrong there must be another reason. This has to be found and corrected.
Bob