Pada posting kali ini akan diberikan sebuah contoh membuat output flip-flop/togle pada ATXMega128A1 menggunakan CodeVision. Pada dasarnya, membuat output pada ATXMega128A1 sama dengan AVR ATMega. Hanya saja sedikit berbeda pada syntax yang digunakan.

Jika pada AVR ATMega kita bisa menggunakan syntax untuk mengeluarkan logika pada sebuah pin dengan:


PORTB.0=1;   //membarika logika 1 pada PORTB.0

PORTB.0=0;   //membarika logika 0 pada PORTB.0

Sementara jika pada ATXMega128A1, kita menggunakan syntax:


PORTB.OUTTGL=1 << 0;    //Togle PORTB pin 0

 

Secara lengkap, coding yang digunakan pada CodeVision adalah:


/* I/O register definitions for the XMEGA128A1 chip */
#include <io.h>
#include <delay.h>
void main(void)
{
unsigned char a;

/* Set all PORTB pins as outputs */
PORTB.DIR=0xFF;

&nbsp;

while (1)
 {
 // Place your code here
 /* Toggle PORTB pin 0 */
 PORTB.OUTTGL=1 << 0;

 delay_us(15);
 }
}

 

Hasilnya pada PB0 adalah:

Output Flip-Flop pada PB0

Output Flip-Flop pada PB0

Demikian, semoga bermanfaat.