CySysFlashWriteRow(...) while UART TX

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
MaPe_1936286
Level 3
Level 3
First like received First like given Welcome!

Good morning,

I am using a CY8CKIT-149 PSoC 4100S Plus Prototyping Kit and I have a problem in UART transmitting with while the Flash is writing a row.

I have attached a simple project. When the UART receive the 'r' char, it transmits the sequence "12345678" and immediately write the last row of the flash with the CySysFlashWriteRow function.

If I connect to the device with a Serial Terminal, when I send the 'r' char I receive a sequence different from "12345678": different chars and different size.

However, if I wait for the end of the transmission of the UART before writing the flash everything works properly.

I do not understand why the UART TX and the Flash write row interfere.

0 Likes
1 Solution
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

The  API: CySysFlashWriteRow((CY_FLASH_NUMBER_ROWS - 1u), rowData); changes the inner clock.

You can read the source code: CySysFlashClockConfig();

Our creator clarify the API:

It says that the IMO run at 48MHz when you execute the flash.

Now, if you change the IMO to 48Mhz, then run your code, everything will be OK.

View solution in original post

3 Replies
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

The  API: CySysFlashWriteRow((CY_FLASH_NUMBER_ROWS - 1u), rowData); changes the inner clock.

You can read the source code: CySysFlashClockConfig();

Our creator clarify the API:

It says that the IMO run at 48MHz when you execute the flash.

Now, if you change the IMO to 48Mhz, then run your code, everything will be OK.

Thank you for your answer

0 Likes

What is the impact using IMO at 48 MHz rather than 24 MHz ? Are there any consequences ?

0 Likes