- Check your I2C Write block settings: send 3 bytes, not 1.
- Make sure your I2C wiring and pull-ups are correct.
- Adjust your oscilloscope to capture the full transmission.
- Try updating your STM32 support package.
Sending data using I2C on Simulink
16 ビュー (過去 30 日間)
古いコメントを表示
I'm using Nucleo-G474RE to send a bit stream over Simulink, instead of receiving 24 bits on the oscilloscope i can read only 8 bits, which are supposed to be the 8 bits in the middle that have the address of the peripheral and the status of the I2C block gives me 516 which is not on the documentation from matlab.

0 件のコメント
回答 (1 件)
Aditya
約4時間 前
Hi Abdurahman,
Only 8 bits seen: Your Simulink I2C Write block is likely configured to send just 1 byte (the address), not all 24 bits (3 bytes).Fix: Set the "Data size" in the block to 3, and input a 3-byte array.Status 516: This is not a standard Simulink code; it may mean "bus busy" or an error from the STM32 HAL library.You can check the following to resolve the issue:
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Sources についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!