Exercise - Using Simulation Macros

From Flowcode Help
Revision as of 17:24, 23 August 2013 by JohnVerrill (talk | contribs)
Jump to navigationJump to search

Simulation macros are simulation-only Component macros - they provide a similar purpose, although they can only be used in simulation and cannot be run on hardware.

C code is a high-level programming language widely used in industry.
It has spawned a number of other programming languages, such as C#, C++, Java and Python.

Flowcode programs are first compiled into C before being crunched down eventually into hex code.

There are two mechanisms for adding your own C code to a Flowcode flowchart:

Exercise InsCode C suppcode.jpg
  • using the 'C Code' icon Btn C Code.gif ;
  • using the 'Use supplementary code' facility within 'Project Options', shown opposite:



Why would you want to?

  • Flowcode programs are compiled to 'C', but produce many lines of code.
They do so because they must be able to cope with any function or structure that the designer wishes to use.
Experienced C programmers may wish to use code more efficiently, and so insert a few lines of code to replace many lines which Flowcode would generate. (This usually applies to the 'Adding supplementary code' option.)
  • Experienced programmers can insert a short section of C code in order to reduce the length, or complexity, of the Flowcode program.
  • Students learning to program in C can test short sections of code by inserting them into a Flowcode program. This avoids having to write the full program in C.


Adding supplementary code

This feature is used when you have blocks of code containing routines, definitions, lookup tables, etc.

Error creating thumbnail: sh: /usr/bin/convert: No such file or directory Error code: 127


Definitions and function declarations:

This is the first section. It allows users to initialise the program, by adding structures such as 'defines', 'includes', and other function declarations. This section must be placed at the beginning of the C file so that the code is 'visible' to all parts of the program.


Function implementations: