Hi Marc,
I don't have a lot of the hardware that would make it easy to perform this test, but I discovered a feature in SigmaStudio that makes it pretty easy to try this out. It's called the Sequencer.
- Start by opening your project file with the right SigmaDSP and USBi enabled.
- Then open the Capture Window. (Ctrl + 5 toggles visibility of this window)
- Then, go to the right side of the window and click the symbol that looks like this: <<. That will open the sequencer.
- There is an empty list area with labels Mode, Address, Bytes, Data. Right click below those labels and select Add Item > Write. This gives you a new blank write command.
- By default, the address is in decimal notation. I prefer hex. Right click and choose Address in hex.
- Then, double click on the 0 in the Address column and type in a new address. For example, you can choose the serial port 0 register, at address 0xE000.
- Then double click the empty space in the data column to type in the data. This is a 16 bit register, so let's just try 0x00, 0x00. Type it in exactly like that.
- Now you can click the button in the sequence window that looks like a down arrow with a circle around it. This downloads the data to the address you specified.
- Now, that's only a single write. If you want to make a huge block of maybe 50 writes, then Ctrk+C (copy) and Ctrl+V (paste) can do the job!
I gave this a try and I was not able to make the I2C bus hang.