Dec 17, 2020
03:01 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dec 17, 2020
03:01 AM
Like to implement an I2C Master-Receiver.
I managed to implement it in 2 steps:
- send START / Chip-Address(Wr) / 1 data-byte / STOP
- here an ISR gets triggered, that starts the 2. step:
- START / Chip-Address(Rd) / data (1...10) / STOP
What I want to achieve is:
- send START / Chip-Address(Wr) / 1 data-byte / REPEATED_START / Chip-Address(Rd) / data (1...10) / STOP
Is it possible to have this sequence generated by filling the FIFO at the beginning, without further CPU/DMA-actions ?
Peter
I managed to implement it in 2 steps:
- send START / Chip-Address(Wr) / 1 data-byte / STOP
- here an ISR gets triggered, that starts the 2. step:
- START / Chip-Address(Rd) / data (1...10) / STOP
What I want to achieve is:
- send START / Chip-Address(Wr) / 1 data-byte / REPEATED_START / Chip-Address(Rd) / data (1...10) / STOP
Is it possible to have this sequence generated by filling the FIFO at the beginning, without further CPU/DMA-actions ?
Peter
2 Replies
Dec 17, 2020
03:35 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dec 17, 2020
03:35 AM
This can't be achieve by filling the FIFO 1 time, this must be done in 2 sequences (by CPU or DMA): first START / Chip-Address(Wr) / 1 data-byte second: REPEATED_START / Chip-Address(Rd) / data (1...10)
Dec 17, 2020
04:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dec 17, 2020
04:58 AM
Thank you, MoD, this may save me a lot of time !
Peter
Peter