- 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
조회 수: 15 (최근 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
대략 3시간 전
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!