Member baru? Bingung? Perlu bantuan? Silakan baca panduan singkat untuk ikut berdiskusi.

Welcome to Forum Sains Indonesia. Please login or sign up.

Maret 29, 2024, 05:12:24 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 231
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 231
Total: 231

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

Help : Komunkasi ATMEGA8535 ke PC gagal

Dimulai oleh taruna, Oktober 19, 2011, 01:07:20 PM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

taruna

Salam kenal,

Saya sangat tertarik untuk belajar & mencoba mikrokontrol jenis AVR, dan menurut beberapa rekan disarankan memakai ATMEGA8535 karena lengkapnya fitur yg tersedia.

Saya mulai mencoba untuk membuat dataloger melalui 8 channel ADC di ATMEGA8535 untuk dikirim ke PC. Namun saat saya coba untuk fungsi komunikasinya saja, di PC tidak muncul data seperti yg diinginkan alias kacau balau. Menurut rekans, apa yg jadi penyebabnya? Oh ya, berikut data skematik dan program (pakai code wizard - codevision)

skema :

/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.9 Professional
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.

Project :
Version :
Date    : 10/19/2011
Author  : F4CG                            
Company : F4CG                            
Comments:


Chip type           : ATmega8535
Program type        : Application
Clock frequency     : 11.059200 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 128
*****************************************************/

#include <mega8535.h>

// Standard Input/Output functions
#include <stdio.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 19200
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x23;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
     {
     // Place your code here
     printf('testing');
     };
}


taruna

maaf, skemanya gagal diupload
www[dot]freeimagehosting[dot]net/c38af


Eko Budianto

Coba kunjungi situs Innovative Electronics atau Delta Electronics, mereka kan jualan kit modul uC AVR, lihat di aplication note yg mereka sediakan.

Too Payz

#3
Salahnya ada 2 tuh..

  • Pertama perintahnya bukan printf('testing'); tapi printf("testing");
    Kalau kalimat / lebih dari 1 karakter harus petik " bukan '.
  • Kedua dan yang fatal, Rangkaiannya.
    [pranala luar disembunyikan, sila masuk atau daftar.].
  • T2IN = Transmitter 2 input.
    Jadi kaki ini pada MAX232 (sejenisnya) sebagai Input dari transmitter mikrokontroller.
    Data dari mikrokontroller masuk ke kaki T2IN dan keluar melalui T2Out.
    Kaki 2 DB9 Female << T2OUT << MAX232 << T2IN << TX Mikrokontroller.

  • R1OUT = Reciever 1 Output.
    Jadi kaki ini pada MAX232 (sejenisnya) sebagai Output data yang diterima dari komputer.
    Data dari komputer masuk ke kaki R1IN dan keluar melalui R1OUT.
    Kaki 3 DB9 Female >> R1IN >> MAX232 >> R1OUT >> RX Mikrokontroller.
Oiya jangan lupa baudratenya disamain ya 19200 bps.
Dan kasi delay_ms biar ga pusing liat tampilannya..

Semoga membantu ...v^_^v...