- For Complex Integrations: S-Function blocks are preferable if you need comprehensive control over hardware interactions and plan to generate production code with Embedded Coder.
- For Simpler Tasks: C Function blocks are suitable for simpler integrations or when you are prototyping.
Example of a Device Driver integrated in Simulink using a Custom block
6 views (last 30 days)
Show older comments
Hi,
Can someone point to any example/sample code demonstrating integration of a board specific device driver code ( for example read data from a serial bus like CAN/SPI, or even simpler read data from ADC etc.. ) into SIMULINK with a custom block.
Which is a better choice for such a requirement , S-Function block or a C Function block?
I want to possibly simulate and also generate the glue code to integrate with the low level driver with the embedded coder.
Thanks in advance
AAA
0 Comments
Answers (1)
akshatsood
on 20 Aug 2024
Edited: akshatsood
on 20 Aug 2024
I understand that you are looking for guidance on integrating board-specific device driver code into Simulink using a custom block. You mentioned tasks such as reading data from interfaces like CAN, SPI, or ADC, and you are considering whether to use an S-Function block or a C Function block for this purpose.
S-Function Block: provides extensive flexibility for integrating complex device drivers and managing detailed hardware interactions. Also, supports both simulation and automatic code generation.
C Function Block: simplifies the integration process for less complex tasks, enabling direct incorporation of C code into models. Ideal for rapid prototyping and simple hardware interactions.
Recommendation
I hope this helps.
2 Comments
akshatsood
on 20 Aug 2024
Dear @Archit
Please refer this: https://www.mathworks.com/matlabcentral/fileexchange/39354-device-drivers
See Also
Categories
Find more on Simulink Coder in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!