• 1

    ..

  • 2

    ...

  • 3

    ...

Thursday, 14 August 2014

Renesas eclipse embedded studio



Renesas eclipse embedded studio, known as e² studio, is a complete development and debug environment based on the popular Eclipse CDT project. Essentially open source, the Eclipse CDT covers build (editor, compiler and linker control) as well as debug phase based on an extended GDB interface




Features


Memory Usage
Visual Expressions
Integrated Code Generation
Eclipse CDT Editor


Target Devices


e² studio has been developed to support the key promotion families of Renesas controllers:
  • RL78 Family
  • RX Family
  • RH850 Family*
  • SuperH Family (SH-2 and SH-2A)
As new devices are released from Renesas, e² studio can easily be updated to add the necessary support files and debugger extensions.
* Note, The working sample for RH850 is supported. (Debug support only)

To know More click here




Saturday, 2 August 2014

POINTERS IN C - Part1

POINTERS IN C - Part1


For any beginner in C programming, the most intriguing and confusing part will be pointers (you can ask any novice C programmer).  The following will be a simple attempt to explain pointers for a beginner.

A pointer in its simplest of terms is a variable which points to the address of other variable.





Let us consider integer variable 'a' and initialize it as follows:

int a=1;

Variable a will be stored in a memory location and as we all know every memory location has an address. Let us assume "a" is stored at address 20.

i.e.,

int a=1; (address of a is 20)

Now we are introducing one more variable ptr, which is declared as:

int *ptr;

Let us see each word separately of the above declaration.

Int represents integer.

*ptr represents a pointer variable, which points to another variable of integer type (bit confusing isnt it? it should be, let us come to this a bit later), we are using * to indicate that what is following * is a pointer variable (to make the compiler understand).

We can store the address of another variable in pointer variable,  i.e., the content of the pointer variable can be the address of another variable.

Let us assume address of variable "ptr" as 30;

And now, let us consider

 ptr = &a;

the above statement indicate the compiler to assign the address of variable 'a' to the variable 'ptr' (just like how we are assigning 1 to variable 'a').

The '&' operator is known as "address of" operator (remember scanf?).

Now let's do some printing.

1. printf("%d",a); 1
2. printf("%d",&a); 20
3. printf("%d,ptr); 20
4. pritnf("%d,&ptr); 30
5. printf("%d",*ptr); 1

Understandably, we do not have any problems with first 2 printf statements.  Problem starts from the third...

The third statement prints the value 20, which is the address of variable 'a' (remember?), this is because we are assigning the address of variable 'a' to 'ptr' (ptr=&a).

Fourth statement is an usual statement which prints the address of the variable 'ptr.'

Fifth one is the most confusing, but important of all, where the printed value is 1, which is actually the value of variable 'a'.  This is happening because of * operator preceds 'ptr' variable.  * is called as derefencing operator.

What is happening here actually?!  When we are using deferencing operator *, the content of variable 'ptr' is considered (by the compiler obviously) as address of another variable and the corresponding value in that address will be printed.

So as per our example, the address of the variable 'a' is stored in variable 'ptr' (remember ptr=&a?), and when the printf statement gets executed, the value stored in address 20 (which is 1) is printed.

we just tried to give a toast of pointers in this introductory part and will explore more of pointers in detail in the coming days...happy programming.

Sakthi
nsakthivelu@gmail.com





Flashing LED Using IC555





Flashing Leds Using IC555


This simple circuit using IC555 will generate on/off signal through which we can do Led blinking . 

the Duty Cycle of the square wave is depending on R1,R2,C1 Values .
 This is kind of one channel pulse generator . If we want more than one channel to generate different square wave signals with different Duty Cycles, we can use IC4017 .
 
  

Search Here...