berkedip yang dipimpin - memerlukan kode pemecahan masalah

V

Vinesh Nair

Guest
hiiii,
im blinkin yang dipimpin melalui atmega32, i hve kode tetapi ketika saya kode yang m / c dan menghubungkannya ke pimpinan, daripada blinkin itu hanya menoleh on.can any1 tell wt persis ..... prob adalah kode saya diberikan di bawah ini

# include <avr/io.h>
# include <avr/interrupt.h>
# include <avr/signal.h>
# include <inttypes.h>
# include <avr/iom16.h>

# define F_OSC 4000000 / * osilator-frekuensi dalam Hz * /
# define UART_BAUD_RATE 9.600
# define UART_BAUD_CALC (UART_BAUD_RATE, F_OSC) ((F_OSC) / ((UART_BAUD_RATE) * 16L) -1)

void delay_ms (unsigned short ms) (
unsigned short outer1, outer2;
outer1 = 200;
while (outer1) (
outer2 = 1000;
while (outer2) (
sementara (ms) ms -;
outer2 -;
)
outer1 -;
)
)

void usart_putc (unsigned char c) (
/ / Menunggu sampai UDR siap
while (! (UCSRA & (1 <<UDRE)));
UDR = c; / / kirim karakter
)

void uart_puts (char * s) (
/ / Loop sampai * s! = NULL
while (* s) (
usart_putc (* s);
s ;
)
)

void init (void) (
/ / Set baud rate
UBRRH = (uint8_t) (UART_BAUD_CALC (UART_BAUD_RATE, F_OSC)>>

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Dingin" border="0" />

;
UBRRL = (uint8_t) UART_BAUD_CALC (UART_BAUD_RATE, F_OSC);

/ / Aktifkan telepon dan pemancar; memungkinkan RX menyela
UCSRB = (1 <<RXEN) | (1 <<TXEN) | (1 <<RXCIE);

/ / asynchronous 8N1
UCSRC = (1 <<Ursel) | (3 <<UCSZ0);
)

/ / Interrupt dapat terganggu
/ / SIGNAL tidak dapat diganggu
SIGNAL (SIG_UART_RECV) (/ / USART RX menyela
unsigned char c;
c = UDR;
usart_putc (c);
)

int main (void) (
init (); / / init USART
sei (); / / mengaktifkan interupsi

/ / Kirim karakter awal
while (! (UCSRA & (1 <<UDRE)));
UDR = 0x43; / / "C"
while (! (UCSRA & (1 <<UDRE)));
UDR = 0x0d;

/ / Mengaktifkan PD5 sebagai output
DDRD | = (1 <<PD5);
while (1) (
/ / PIN5 PORTD jelas -> LED off
PORTD & = ~ (1 <<PD5);
delay_ms (500);
/ PIN5 PORTD set -> LED pada
PORTD | = (1 <<PD5);
delay_ms (500);
)
return 0;
)please help me out ............

 
Pertama dalam fungsi init menentukan port output pin D3

DDRD | = (1 <<PD3);

dan juga meningkatkan penundaan dan mengamati memimpin selama sekitar 1-2 menitapa frekuensi Anda bekerja di?
dan untuk debug mengirimkan karakter melalui UART setelah setiap on / off

 
4Mhz m workin di frekuensi ........... i alrdy meningkatkan nd penundaan masih tidak ada respon .........

 
kode sebelumnya saya sama ur sayin i had output PD2 saya tetapi saya memiliki output yang sama saya ........ nd gettin PGM adalah simulasi pada simulator avr studio dengan benar .......

 
Vinesh Nair wrote:

kode sebelumnya saya sama ur sayin i had output PD2 saya tetapi saya memiliki output yang sama saya ........ nd gettin PGM adalah simulasi pada simulator avr studio dengan benar .......
 
i am nt u gettin kode ............... i am using adalah pengaturan PD5 berkedip ........ yang dipimpin dan i am menggunakan PD0 dan PD1 untuk antarmuka itu dengan serial portDitambahkan setelah 1 menit:harap dapat u menentukan dengan kode tepat wt ru tryin 2 mengatakan ..........

 
keterlambatan fungsi yang anda gunakan masih kecil
setelah iterasi pertama nilai ms akan 0
jadi lain kali dan seterusnya itu tidak akan pergi dalam sementara ms loop

Vinesh Nair wrote:void delay_ms (unsigned short ms) (

unsigned short outer1, outer2;

outer1 = 200;

while (outer1) (

outer2 = 1000;

while (outer2) (

sementara (ms) ms -;

outer2 -;

)

outer1 -;

)

)
 
da kode untuk penundaan masih belum givin saya hasilnya ....... can u posting saya kode selain dari apa yang saya telah menggunakan ..... coz i am tidak dapat mendeteksi masalah di sini ...... ... kode tampaknya ok ....... tapi tetap tidak ada output ....... pls help me out.

 
any1 dapat posting saya kode untuk membuat sebuah penundaan dengan bantuan seorang untuk loop ........ plsDitambahkan setelah 2 jam 22 menit:pls guys help me out dengan somthin ........ i am new to this ......

 
Apakah LED berkedip butuh ini banyak coding.Saya pikir memilih pin untuk output dan menginisialisasinya sebagai output.Letakkan penundaan loop / membuang-buang waktu menggunakan dua loop loop seperti yang Anda lakukan.Berhati-hatilah bahwa begitu loop batin dijalankan, register terkait reloaded dengan nilai aslinya dalam jangka berikutnya.Pada akhir penundaan loop (baik loop) hanya melengkapi pelabuhan pin.menjaga seluruh proses berjalan indefinetly.Delay nilai loop dapat diperkirakan dari kode dan frekuensi, trial and error juga bekerja.
Raoof

 

Welcome to EDABoard.com

Sponsor

Back
Top