Switch Bounce
Microcontrolers may not in Human thinking frequency .Human thinking frequency is lies in some of low Hz . Microcontroler works variety range of frequency ie ,12Mhz,20 Mhz etc . In a push Button micro controller interfacing, Human and Micro controller are feels that whether the push is pressed or not in different way as follows in the graph .
Some small duration pulse due to denounce generated as multiple touch error
Hardware solution It can be made by a resistor and a capacitor in the following manner or any other for comfortable
When ever the switch is pressed the capacitor will charge rapidly ,practically the first charge wil be across the ,capacitor ,
So we can avoid the denouncing effect .
The capacitor and the resistor will be select in accordance with time constant . as follows
Will be update
Switch Bounce
Microcontrolers may not in Human thinking frequency .Human thinking frequency is lies in some of low Hz . Microcontroler works variety range of frequency ie ,12Mhz,20 Mhz etc . In a push Button micro controller interfacing, Human and Micro controller are feels that whether the push is pressed or not in different way as follows in the graph .
Some small duration pulse due to denounce generated as multiple touch error
Hardware solution
It can be made by a resistor and a capacitor in the following manner or any other for comfortable
When ever the switch is pressed the capacitor will charge rapidly ,practically the first charge wil be across the ,capacitor ,
So we can avoid the denouncing effect .
The capacitor and the resistor will be select in accordance with time constant . as follows
Will be update
* main.c
*
* Created on: Aug 12, 2017
* Author: thannara123
#include
#define FALSE 0
#define TRUE 1 // 0r //!FALSE
struct menu
{
char menu_up_key;
char menu_down_key;
char menu_enter_key :1; // bit feild 1 bit
};
struct menu s1= {0}; //s1.menu_up-key =1;
void struct_1( struct menu,const char *menu_display[]);
int main()
{
const char *menu_display[10];
menu_display[0] = "Menu0";
menu_display[1] = "Menu1";
menu_display[2] = "Menu2";
menu_display[3] = "Menu3";
menu_display[4] = "Menu4";
menu_display[5] = "menu 5";
menu_display[6] = "menu 6";
struct_1(s1,menu_display);
getchar();
return 0;
}
void struct_1(struct menu s1 ,const char *menu_display[])
{
char ch;
do{
ch=getch();
if(ch!='\0')
{
ch=getch();
if(ch=='H')
{
s1.menu_up_key++;
if(s1.menu_up_key==7)
s1.menu_up_key =0;
// printf("UP\n");
printf(" %s\n",*(s1.menu_up_key+menu_display));
}
else if(ch=='P')
{
s1.menu_up_key--;
if(s1.menu_up_key==-1)
{ s1.menu_up_key =6;
goto here;
}
//printf("down\n");
here:
printf("%s\n",*(s1.menu_up_key+menu_display));
}
}
}
while(ch!='e');// while oka key
}
/*
* button_key.c
*
* Created: 7/30/2017 12:02:39 PM
* Author: Krishna
*/ #include
#include "delay.h"
#include "button_key.h"
#include "lcd.h"
void menu_key_display(struct menu s1,const char *menu_display[]);
void UP_Down_Keyvalue(struct menu s1,int i,int j);
/* Function Key Value For get key */
int Key_pressed(void)
{
while(1){
if (LEFT_S) { while(LEFT_S);return 1; }
if (RIGHT_S){ while(RIGHT_S);return 2; }
if (UP_S) { while(UP_S); return 3; }
if (DOWN_S) { while(DOWN_S);return 4 ; }
if (OK_S) { while(OK_S);return 5 ; }
}
}
/* Function Key Value For Up Key & Enter*/
void menu_key_display(struct menu s1,const char *menu_display[])
{
int ch;
int a;
int menu_position =0;
LCD_DisplayString(menu_display[menu_position]);
do{
repat:
ch = Key_pressed();
if(ch==1||ch==2)
{
if(ch==2)
{ if(ch==2)
{ if(s1.menu_side_key==4)
s1.menu_side_key = 0;
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(*((++s1.menu_side_key)+menu_display));
menu_position=1;
}
}
else if(ch==1)
{
if(ch==1)
{if(s1.menu_side_key==1 ||s1.menu_side_key==0)
{
s1.menu_side_key=5;
}
LCD_Clear();
LCD_DisplayString(*((--s1.menu_side_key)+menu_display));
menu_position=1;
}
}
}
if(menu_position==0)
goto repat;
}while(ch!=5);
a = s1.menu_side_key;
switch(a)
{
case 1: // set time
{
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(menu_display[5]);
LCD_GoToLine(1);
LCD_DisplayString(" HH:MM:SS:PM/AM");
UP_Down_Keyvalue(s1,2,4);
break;
}
case 2: // Set date
{
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(menu_display[6]);
LCD_GoToLine(1);
LCD_DisplayString(" DD:MM:YY");
UP_Down_Keyvalue(s1,2,3);
break;
}
case 3: // set alarm
{
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(menu_display[7]);
LCD_GoToLine(1);
LCD_DisplayString(" HH:MM:SS:AM/PM");
UP_Down_Keyvalue(s1,2,4);
break;
}
case 4: // set alarm
{
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(menu_display[8]);
LCD_GoToLine(1);
LCD_DisplayString(" HH:MM:SS:PM/AM");
UP_Down_Keyvalue(s1,2,4);
break;
}
}
while(Key_pressed()!=5);
}
/* Function Key Value For UP_Down Key */
void UP_Down_Keyvalue(struct menu s1,int i,int j)
{
int ch,lower,upper;
do{
if(j==4)
{
if(i==2)upper=1;
if(i==3)upper=9;
if(i==5)upper=5;
if(i==8)upper =5;
if(i==9)upper =9;
}
if(UP_S)
{
while(UP_S);
if(s1.menu_up_key==upper)
s1.menu_up_key = lower-1;
LCD_GoToXY(1,i);
LCD_Printf("%d",++s1.menu_up_key);
s1.time[i-2]=s1.menu_up_key;
}
else if(DOWN_S) // down
{ while(DOWN_S);
if (s1.menu_up_key==lower)
s1.menu_up_key = upper+1;
LCD_GoToXY(1,i);
LCD_Printf("%d",--s1.menu_up_key);
s1.time[i-2]=s1.menu_up_key;
}
if(RIGHT_S)
{ while(RIGHT_S);
s1.menu_up_key=0;
if(i==9) goto exit1;
if(i==3||i==6)
++i;
i++;
}
exit1:
if (LEFT_S)
{ while(LEFT_S);
s1.menu_up_key=0;
if(i==2) goto exit2;
if(i==5||i==8)
--i;
i--;
}
exit2:continue;
} while (ch!=5); // if Okay key exit loop
}
See You
* main.c
*
* Created on: Aug 12, 2017
* Author: thannara123
#include
#define FALSE 0
#define TRUE 1 // 0r //!FALSE
struct menu
{
char menu_up_key;
char menu_down_key;
char menu_enter_key :1; // bit feild 1 bit
};
struct menu s1= {0}; //s1.menu_up-key =1;
void struct_1( struct menu,const char *menu_display[]);
int main()
{
const char *menu_display[10];
menu_display[0] = "Menu0";
menu_display[1] = "Menu1";
menu_display[2] = "Menu2";
menu_display[3] = "Menu3";
menu_display[4] = "Menu4";
menu_display[5] = "menu 5";
menu_display[6] = "menu 6";
struct_1(s1,menu_display);
getchar();
return 0;
}
void struct_1(struct menu s1 ,const char *menu_display[])
{
char ch;
do{
ch=getch();
if(ch!='\0')
{
ch=getch();
if(ch=='H')
{
s1.menu_up_key++;
if(s1.menu_up_key==7)
s1.menu_up_key =0;
// printf("UP\n");
printf(" %s\n",*(s1.menu_up_key+menu_display));
}
else if(ch=='P')
{
s1.menu_up_key--;
if(s1.menu_up_key==-1)
{ s1.menu_up_key =6;
goto here;
}
//printf("down\n");
here:
printf("%s\n",*(s1.menu_up_key+menu_display));
}
}
}
while(ch!='e');// while oka key
}
/*
* button_key.c
*
* Created: 7/30/2017 12:02:39 PM
* Author: Krishna
*/ #include
#include "delay.h"
#include "button_key.h"
#include "lcd.h"
void menu_key_display(struct menu s1,const char *menu_display[]);
void UP_Down_Keyvalue(struct menu s1,int i,int j);
/* Function Key Value For get key */
int Key_pressed(void)
{
while(1){
if (LEFT_S) { while(LEFT_S);return 1; }
if (RIGHT_S){ while(RIGHT_S);return 2; }
if (UP_S) { while(UP_S); return 3; }
if (DOWN_S) { while(DOWN_S);return 4 ; }
if (OK_S) { while(OK_S);return 5 ; }
}
}
/* Function Key Value For Up Key & Enter*/
void menu_key_display(struct menu s1,const char *menu_display[])
{
int ch;
int a;
int menu_position =0;
LCD_DisplayString(menu_display[menu_position]);
do{
repat:
ch = Key_pressed();
if(ch==1||ch==2)
{
if(ch==2)
{ if(ch==2)
{ if(s1.menu_side_key==4)
s1.menu_side_key = 0;
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(*((++s1.menu_side_key)+menu_display));
menu_position=1;
}
}
else if(ch==1)
{
if(ch==1)
{if(s1.menu_side_key==1 ||s1.menu_side_key==0)
{
s1.menu_side_key=5;
}
LCD_Clear();
LCD_DisplayString(*((--s1.menu_side_key)+menu_display));
menu_position=1;
}
}
}
if(menu_position==0)
goto repat;
}while(ch!=5);
a = s1.menu_side_key;
switch(a)
{
case 1: // set time
{
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(menu_display[5]);
LCD_GoToLine(1);
LCD_DisplayString(" HH:MM:SS:PM/AM");
UP_Down_Keyvalue(s1,2,4);
break;
}
case 2: // Set date
{
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(menu_display[6]);
LCD_GoToLine(1);
LCD_DisplayString(" DD:MM:YY");
UP_Down_Keyvalue(s1,2,3);
break;
}
case 3: // set alarm
{
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(menu_display[7]);
LCD_GoToLine(1);
LCD_DisplayString(" HH:MM:SS:AM/PM");
UP_Down_Keyvalue(s1,2,4);
break;
}
case 4: // set alarm
{
LCD_Clear();
LCD_GoToLine(0);
LCD_DisplayString(menu_display[8]);
LCD_GoToLine(1);
LCD_DisplayString(" HH:MM:SS:PM/AM");
UP_Down_Keyvalue(s1,2,4);
break;
}
}
while(Key_pressed()!=5);
}
/* Function Key Value For UP_Down Key */
void UP_Down_Keyvalue(struct menu s1,int i,int j)
{
int ch,lower,upper;
do{
if(j==4)
{
if(i==2)upper=1;
if(i==3)upper=9;
if(i==5)upper=5;
if(i==8)upper =5;
if(i==9)upper =9;
}
if(UP_S)
{
while(UP_S);
if(s1.menu_up_key==upper)
s1.menu_up_key = lower-1;
LCD_GoToXY(1,i);
LCD_Printf("%d",++s1.menu_up_key);
s1.time[i-2]=s1.menu_up_key;
}
else if(DOWN_S) // down
{ while(DOWN_S);
if (s1.menu_up_key==lower)
s1.menu_up_key = upper+1;
LCD_GoToXY(1,i);
LCD_Printf("%d",--s1.menu_up_key);
s1.time[i-2]=s1.menu_up_key;
}
if(RIGHT_S)
{ while(RIGHT_S);
s1.menu_up_key=0;
if(i==9) goto exit1;
if(i==3||i==6)
++i;
i++;
}
exit1:
if (LEFT_S)
{ while(LEFT_S);
s1.menu_up_key=0;
if(i==2) goto exit2;
if(i==5||i==8)
--i;
i--;
}
exit2:continue;
} while (ch!=5); // if Okay key exit loop
}
See You
C Programming With Ubuntu Tutorials
This tutorial is for those people who know how to program but doesn’t know how to run the C program in Linux. The linux itself is written in C programming which means it is very friendly to programmers.
Our first program follows
To write your First program Open your Terminal in ubuntu (Short Key -Alt+Ctrl+T). Enter the command there as follows
To Open Gedit (Text editor ) .
Sudo gedit myfirstprogram.c .(give password it will open gedit and write program there and save it ,finally close that gedit) .Once again .
1) Open the terminal & enter the command as folows.
sudo gedit myfristprogram.c
Give password
It will open a gedit text file with named as myfirstprogram.c .write here your first prgram source code here save and close it .
2) Compile it the source code (myfirstprogram.c) by the following command
gcc -o myfirstprogram myfirstprogram.c
3) To see the output type the command as follows
./myfirstprogam
In this case output is
Hello wrold
Thanks
C Programming With Ubuntu Tutorials
This tutorial is for those people who know how to program but doesn’t know how to run the C program in Linux. The linux itself is written in C programming which means it is very friendly to programmers.
Our first program follows
To write your First program Open your Terminal in ubuntu (Short Key -Alt+Ctrl+T). Enter the command there as follows
To Open Gedit (Text editor ) .
Sudo gedit myfirstprogram.c .
(give password it will open gedit and write program there and save it ,finally close that gedit) .
Once again .
1) Open the terminal & enter the command as folows.
sudo gedit myfristprogram.c
Give password
It will open a gedit text file with named as myfirstprogram.c .write here your first prgram source code here save and close it .
2) Compile it the source code (myfirstprogram.c) by the following command
gcc -o myfirstprogram myfirstprogram.c
3) To see the output type the command as follows
./myfirstprogam
In this case output is
Hello wrold
Thanks
The C Programming Language is an excellent choice for beginning programmers as well as for people who do not intend to become a programmer but just want the experience of creating a program.Three things are necessary for creating C programs: a text editor, a compiler and a C standard library. A text editor is all that is needed to create the Source Code for a program in C or in any other language. A compiler is a specialized program that converts source code into machine language (also called object code or machine code) so that it can be understood directly by a CPU (central processing unit). An excellent C compiler is included in the GNU Compiler Collection (GCC). An integrated development environment (IDE) or interactive development environment is a software application that provides all things (ie,a text editor, a compiler and a C standard library etc). There are a lot of IDE available with diffrent OS look here.
Available C compilers with Diffrent OS And IDE
-------------------------------------------------------------------------------------------------
|
AMPC | Axiomatic Solutions Sdn Bhd | Yes | Yes | Yes | Proprietary | Yes |
Aztec C | Manx Software Systems | No | No | Yes CP/M, CP/M-86, MS-DOS | Proprietary | No |
Amsterdam Compiler Kit | Andrew Tanenbaum and Ceriel Jacobs | No | Yes | Yes | BSD | No |
CCS C Compiler | CCS, Inc. | Yes | Yes | Yes | Proprietary | Yes |
Ch | SoftIntegration, Inc | Yes | Mac OS X, FreeBSD, Linux, Solaris, HP-UX, AIX, Qnx | Yes | Freeware | Yes — Professional and Student versions only |
Clang | LLVM Project | Yes | Yes | Yes | BSD | No |
CParser/libFirm | Matthias Braun, Christoph Mallon and Michael Beck | Yes | Yes | Yes | GPL | No |
Digital Mars | Digital Mars | Yes | No | No | ? | No |
Dignus Systems/C | Dignus, L.L.C | Yes (host) | Yes (host) | Yes Z/Architecture | Proprietary | No |
GCC C | GNU Project | Mingw, Cygwin | Yes | Yes IBM mainframe, AmigaOS, VAX/VMS, RTEMS | GPL | NetBeans |
IAR C/C++ Compilers | IAR Systems | Yes | No | No | Proprietary | Yes |
Interactive C | KISS Institute for Practical Robotics | Yes | Unix, Mac, Linux, IRIX, Solaris, SunOS | No | Freeware | No |
LabWindows/CVI | National Instruments | Yes | Yes | Yes | Proprietary | Yes |
lcc | Chris Fraser and David Hanson | Yes | Yes | Yes | Freeware (source code available for non-commercial use) | Windows only |
Mark Williams C | Mark Williams Company | Yes | Coherent | Yes | Proprietary | Yes |
Micro C Compiler (mcc) | Roshan Snigh | Yes | Yes | Yes | Freeware (source code available for non-commercial use) | No |
MikroC Compiler | Mikroelektronika | Yes | Yes | Yes | Proprietary | Yes |
Nwcc | Nils Weller | No | Yes | No | BSD | No |
Open64 | AMD SGI Google HP Intel Nvidia PathScale Tsinghua University and others | No | Yes | Yes | GPL | No |
Open Watcom | Sybase and SciTech Software | Yes | Yes Linux | Yes OS/2, MS-DOS | Sybase Open Watcom Public License | Yes Windows only? |
Pelles C | Pelle Orinius | Yes | No | No | Freeware | Yes |
PGCC | The Portland Group | Yes | Yes | ? | Proprietary | Yes — Visual Studio on Windows |
Portable C Compiler | Stephen C. Johnson, Anders Magnusson and others | Yes | Yes | Yes | BSD | No |
Power C | Mix Software | No | No | Yes | Proprietary | No |
QuickC | Microsoft | Yes | No | No | Proprietary | Yes |
RCC (RCOR C Compiler) | Rodrigo Caetano (rcor) | Yes | Yes | No | GPL | No |
Ritchie C Compiler (PDP-11) | Dennis Ritchie and John Reiser; converted to cross-compiler by Doug Gwyn | Yes | Yes | Yes | Freeware | No |
SAS/C | SAS Institute | Yes | Yes | Yes IBM mainframe, AmigaOS, 68K, 88K | Proprietary | Yes |
Small-C | Ron Caine, James E. Hendrix, Byte magazine | Yes | Yes | Yes CP/M MS-DOS | Public Domain | Yes |
Small Device C Compiler | Sandeep Dutta and others | Yes | Yes | ? | GPL | No |
SubC | Nils M Holm | MinGW | FreeBSD, NetBSD, Linux | No | Public Domain | No |
Tiny C Compiler | Fabrice Bellard | Yes | Yes | No | LGPL | No |
(Borland) Turbo C | Embarcadero | Yes | No | Yes | Proprietary - V 2.01 freely available | Yes |
ups debugger (includes C interpreter) | Tom Hughes, Ian Edwards, and others | No | Yes | Yes Solaris, SunOS | GPL | Yes |
VBCC | Dr. Volker Barthelmann | Yes | Yes | Yes | Freeware (source code available, modification not allowed) | No |
Visual C++ Express | Microsoft | Yes | No | No | Freeware | Yes |
XL C | IBM | No | AIX, Linux | No | Proprietary | Eclipse |
-----------------------------------------------------------------------------------
I am using ubuntu (Linux os) here is the compailer is GNU GCC Because linux is an open Source and can be rewrite ,edit etc ... ................................................................
1.) Install GCC Compiler on you ubuntu (Tutorial)
(first Program)
#include<stdio.h>
int main()
{
printf(“Hello World);
return 0;
}
.....................................................
3.) Compiling the above program .
.................
Find the result Do these 2 or more times to understand and by heart
Next Tutorials
.........
The C Programming Language is
an excellent choice for beginning programmers as well as for people who
do not intend to become a programmer but just want the experience of
creating a program.
Three things are necessary for creating C programs: a text editor, a compiler and a C standard library. A text editor is all that is needed to create the Source Code for a program in C or in any other language.
A compiler is a specialized program that converts source code into machine language (also called object code or machine code) so that it can be understood directly by a CPU (central processing unit). An excellent C compiler is included in the GNU Compiler Collection (GCC).
An integrated development environment (IDE) or interactive development environment is a software application that provides all things (ie,a text editor, a compiler and a C standard library etc). There are a lot of IDE available with diffrent OS look here.
Available C compilers with Diffrent OS And IDE
-------------------------------------------------------------------------------------------------
AMPC |
Axiomatic Solutions Sdn Bhd |
Yes |
Yes |
Yes |
Proprietary |
Yes |
Aztec C |
Manx Software Systems |
No |
No |
Yes CP/M, CP/M-86, MS-DOS |
Proprietary |
No |
Amsterdam Compiler Kit |
Andrew Tanenbaum and Ceriel Jacobs |
No |
Yes |
Yes |
BSD |
No |
CCS C Compiler |
CCS, Inc. |
Yes |
Yes |
Yes |
Proprietary |
Yes |
Ch |
SoftIntegration, Inc |
Yes |
Mac OS X, FreeBSD, Linux, Solaris, HP-UX, AIX, Qnx |
Yes |
Freeware |
Yes — Professional and Student versions only |
Clang |
LLVM Project |
Yes |
Yes |
Yes |
BSD |
No |
CParser/libFirm |
Matthias Braun, Christoph Mallon and Michael Beck |
Yes |
Yes |
Yes |
GPL |
No |
Digital Mars |
Digital Mars |
Yes |
No |
No |
? |
No |
Dignus Systems/C |
Dignus, L.L.C |
Yes (host) |
Yes (host) |
Yes Z/Architecture |
Proprietary |
No |
GCC C |
GNU Project |
Mingw, Cygwin |
Yes |
Yes IBM mainframe, AmigaOS, VAX/VMS, RTEMS |
GPL |
NetBeans |
IAR C/C++ Compilers |
IAR Systems |
Yes |
No |
No |
Proprietary |
Yes |
Interactive C |
KISS Institute for Practical Robotics |
Yes |
Unix, Mac, Linux, IRIX, Solaris, SunOS |
No |
Freeware |
No |
LabWindows/CVI |
National Instruments |
Yes |
Yes |
Yes |
Proprietary |
Yes |
lcc |
Chris Fraser and David Hanson |
Yes |
Yes |
Yes |
Freeware (source code available for non-commercial use) |
Windows only |
Mark Williams C |
Mark Williams Company |
Yes |
Coherent |
Yes |
Proprietary |
Yes |
Micro C Compiler (mcc) |
Roshan Snigh |
Yes |
Yes |
Yes |
Freeware (source code available for non-commercial use) |
No |
MikroC Compiler |
Mikroelektronika |
Yes |
Yes |
Yes |
Proprietary |
Yes |
Nwcc |
Nils Weller |
No |
Yes |
No |
BSD |
No |
Open64 |
AMD SGI Google HP Intel Nvidia PathScale Tsinghua University and others |
No |
Yes |
Yes |
GPL |
No |
Open Watcom |
Sybase and SciTech Software |
Yes |
Yes Linux |
Yes OS/2, MS-DOS |
Sybase Open Watcom Public License |
Yes Windows only? |
Pelles C |
Pelle Orinius |
Yes |
No |
No |
Freeware |
Yes |
PGCC |
The Portland Group |
Yes |
Yes |
? |
Proprietary |
Yes — Visual Studio on Windows |
Portable C Compiler |
Stephen C. Johnson, Anders Magnusson and others |
Yes |
Yes |
Yes |
BSD |
No |
Power C |
Mix Software |
No |
No |
Yes |
Proprietary |
No |
QuickC |
Microsoft |
Yes |
No |
No |
Proprietary |
Yes |
RCC (RCOR C Compiler) |
Rodrigo Caetano (rcor) |
Yes |
Yes |
No |
GPL |
No |
Ritchie C Compiler (PDP-11) |
Dennis Ritchie and John Reiser; converted to cross-compiler by Doug Gwyn |
Yes |
Yes |
Yes |
Freeware |
No |
SAS/C |
SAS Institute |
Yes |
Yes |
Yes IBM mainframe, AmigaOS, 68K, 88K |
Proprietary |
Yes |
Small-C |
Ron Caine, James E. Hendrix, Byte magazine |
Yes |
Yes |
Yes CP/M MS-DOS |
Public Domain |
Yes |
Small Device C Compiler |
Sandeep Dutta and others |
Yes |
Yes |
? |
GPL |
No |
SubC |
Nils M Holm |
MinGW |
FreeBSD, NetBSD, Linux |
No |
Public Domain |
No |
Tiny C Compiler |
Fabrice Bellard |
Yes |
Yes |
No |
LGPL |
No |
(Borland) Turbo C |
Embarcadero |
Yes |
No |
Yes |
Proprietary - V 2.01 freely available |
Yes |
ups debugger (includes C interpreter) |
Tom Hughes, Ian Edwards, and others |
No |
Yes |
Yes Solaris, SunOS |
GPL |
Yes |
VBCC |
Dr. Volker Barthelmann |
Yes |
Yes |
Yes |
Freeware (source code available, modification not allowed) |
No |
Visual C++ Express |
Microsoft |
Yes |
No |
No |
Freeware |
Yes |
XL C |
IBM |
No |
AIX, Linux |
No |
Proprietary |
Eclipse |
-----------------------------------------------------------------------------------
I am using ubuntu (Linux os) here is the compailer is GNU GCC
Because linux is an open Source and can be rewrite ,edit etc ...
................................................................
1.) Install GCC Compiler on you ubuntu (Tutorial)
(first Program)
#include<stdio.h>
int main()
{
printf(“Hello World);
return 0;
}
.....................................................
3.) Compiling the above program .
.................
Find the result Do these 2 or more times to understand and by heart
Next Tutorials
.........
16x2 LCD Interfacing with STM32,STM32F103C6 lcd_init(); LCD_LINE1; lcd_String(" GeElectron"); LCD_LINE2; lc...