Feature rich GUI based hardware programming tool from LabRecon

drag-and-drop editor to create rich GUIs for access over the Internet or local use

LabRecon empowers engineers, hobbyists and students to create rich graphical interfaces for “remote” IoT (Internet of Things) or “local” measurement and control applications.  A drag-and-drop panel builder and graphical programming environment allow one to easily build an interface and create the operating logic for any project.  A USB connected “Breadboard Experimentor” circuit board provides the measurement and control link. One powerful feature is the “Measurement Wizard”, wherein one can choose from a built-in database of over 500 commercially available sensors to automatically configure sensor configurations.  The wizard will further present circuits with component values for voltage and current measurements.

Continue reading

How To Choose The Programming Language For A Beginner

If you are a beginner hoping to excel in programming, choosing a suitable programming language is one of the hurdles you must overcome. Many people get stuck in this process because of the high number of programming language available. Just as online proofreading jobs in which one can only work on projects given in the language they understand, programming tasks are almost similar but more technical. You can only work on the programming tasks you know. So if you are finding it difficult to choose a suitable language to learn, this post will help you make the right choice.

Continue reading

PHP vs Python for Web Development

PHP is undoubtedly the most popular server-side language used for web development. Over 80% of websites are developed in PHP, including popular platforms, such as Facebook, Wikipedia or Tumblr. However, recently there has been a notable popularity revival of another backend language, Python, which is also used by the big tech fish, such as Google, YouTube or Dropbox. If you’re looking to build web applications, you might wonder which language might be a better option for you. In order to decide which of these two languages can be more suitable for your project, it is worth discussing what they both have to offer. Why Choose PHP? PHP is an open source server-side language and has a wide community of users, which gives PHP developers the possibility to join great support system for PHP coders and gain easy access to references, guidelines, new resources and updates, as well as extensions libraries. Bugs are also fixed at an impressive speed. PHP also offers a variety of frameworks, Symfony and Laravel being the most popular. The PHP’s syntax is similar to the C and C++ languages, two popular programming languages, so it allows for an easy, smooth transition for developers familiar with either…

Continue reading

Program Flow In Embedded C

Program Flow and control is a control method of your program. For example Loop constructions control repeated execution of repeated program segments where control is taken by control parameter. In this article we will go through if/else switch/case statements and loop sentences like while, do while, for. While statement As I mentioned three looping sentences available in C language one of them is While sentence. Lets take an example: #include <stdio.h> int main(void) { int guess, i; i=1; guess=5; while (guess!=i) { i=guess; guess=(i+(10000/i))/2; } printf(“Square root of 10000 is %d\n”, guess); return 0; } While(guess!=i) invokes looping operation. This causes statement to be executed repeatedly at the beginning the condition guess!=i is checked. As long the argument is TRUE the while sentence will be continued continuously. When guess becomes equal to i while statement will be skipped. I am not going to deep in to it as there are tons of information about basic C.

Continue reading

Why C instead ASM

ASM is a specific language also referred as low level programming language. It is a mnemonics to a machine codes. It usually takes long time to develop embedded programs in ASM language. Today even modern 8 bit microcontrollers are powerful and complex as they were long time ago. The program memory of tiny chips are reaching megabytes, they pack lots of peripherals and interfaces. Hardware code is becoming more complex, functionality grows up. This is one of the main reasons of using higher level programming languages like C. By using C language you do not have to go into details how processor works at hardware level. You don’t have to think about hardware logic how bytes are shifted between registers. It is better to leave t Another advantage of C language against ASM is portability. If you work with embedded system architecture and decide to move to other, and your previous program were written in ASM, then you are stuck to rewriting this code from scratch. Using C written programs you can re-compile code for different microcontrollers without significant modifications of code. This way your new project code upgrade becomes easy task. C or other high level programming language makes…

Continue reading

Example of enumeration c in microcontroller programming

Enumeration allows defining a user data types in C language. For this purpose a #define pre-processor is used which allows describing a set of constants. They allow reading and understanding program code much easier as you may define human readable types. For instance, using pre-processor we can define a simple numbers to be as follows: #define zero 0#define one 1#define two 3 Define is powerful tool for doing many different definitions in pre-processing stage of source code, but in C language there is an alternative way of defining a user data types –  enumerating using keyword enum: enum (zero=0,one, two); //zero=0, one=1; two=2 By default, enumeration assigns values from zero and up. You can use enumeration of new types as in following example: int n;enum (zero=0,one, two);n=one; //n=1 Also you can use enum  to assign special characters to meaningful words like this: enum escapes { BELL = ‘\a’, BACKSPACE = ‘\b’, HTAB = ‘\t’,RETURN = ‘\r’, NEWLINE = ‘\n’, VTAB = ‘\v’ };or enum boolean { FALSE = 0, TRUE }; An advantage of enum over #define is that it has scope, what means that the variable (just like any other) is only visible within the block it was declared.…

Continue reading

AVR GCC Structures

Basically Structures are nothing more than collection of variables so called members. Structures allows to reference all members by single name. Variables within a structure doesn’t have to be the same type. General structure declaration: struct structure_tag_name{ type member1; type member2; … type memberX }; or struct structure_tag_name{ type member1; type member2; … type memberX } structure_variable_name; in second example we declared the variable name. Otherwise variables can be declared this way: struct structure_tag_name var1, var2,var3[3]; Members of structure can be accessed by using member operator (.). The member operator connects the member name to the structure. Lets take an example: struct position{ int x; int y; }robot; we can set robot position by using following sentence: robot.x=10; robot.y=15; or simply robot={10,15}; Structures can be nested: struct status{ int power; struct position coordinates; } robotstatus; to access robot x coordinate we have to write: x=robotstatus.coordinates.x; Actions can be taken with structures: Copy; Assign; Take its address with &; Access members. Of course you can treat a structure like a variable type. So you can create an array of structures like: struct status{ int power; struct position coordinates; } robotstatus[100]; Accessing 15th robot power would be like this: pow=robotstatus[15].power;

Continue reading