I am using this Simulink code to try to output data to multiple pins on an Arduino Uno. I am wondering if the Simulink compiler is smart enough to output all of the pins simultaneously.
The other option is to write an S-function that uses the port commands (DDR and PORT).
Here's a picture of the Simulink code. <www.sos.siena.edu/~mmccolgan/beacon/output.png>
The model that you have is already writing to multiple pins simultaneously. Unless, you mean that since the writes happens in a sequence in the generated code, you cannot disregard the small delay that occurs between executing each write statement? I'm not sure how you would achieve such a simultaneous write in C code, since the Arduino DigitalWrite function also only writes to only one port at a time. But if you do know how to implement this in C, then yes, writing a S-function is the right way to go.