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

PSoC™ 4

Level 3
First like received First like given
Level 3

I have managed to write to a Datapath in a UDB (D0 and D1 I have confirmed are being updated). I presume that it is working when I write a 24 bit block to F0 (or F1) - given that they are 4-bytes deep using command:

CY_SET_REG32(LEDA_Datapath_u0__F0_REG, 0UL);

(I'll move that to the component code once it's all working)

What I don't quite follow is how I shift the data out of F1 (or F0)?

From F1 should I do something like:




If so, I am a little lost as to how I extract a bit at a time into Output 4... do I just load up each byte after all 8 bits have been extracted?

This does not appear to be operating as I expected.

I my case I want to use 24 bits for each message out so can manage to repeat three times if necessary (rather than widening my Datapath to 24 bits).



1 Solution
250 sign-ins 5 comments on KBA First comment on KBA

When writing to an 8-bit datapath, you need to write three times to get the 24-bits into the FIFO.

If you simply do one 32-bit write to an 8-bit datapath, you would be writing to FIFOs from other datapaths.

View solution in original post

4 Replies