clignoter une LED - ont besoin de solution de problème de code

V

Vinesh Nair

Guest
hiiii,
blinkin im a conduit via ATMEGA32, i HVE le code mais quand je le code du M / C et le connecter à un conduit, plutôt que blinkin il est juste d'avoir on.can any1 dire poids est exactement le problème ..... mon code est donnée ci-dessous

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

# define F_OSC 4000000 / * oscillateur de fréquence en Hz * /
# define UART_BAUD_RATE 9600
# define UART_BAUD_CALC (UART_BAUD_RATE, F_OSC) ((F_OSC) / ((UART_BAUD_RATE) * 16l) -1)

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

void usart_putc (unsigned char c) (
/ / Attendre UDR prêt
while (! (UCSRA & (1 <<UDRE)));
UDR = c; / / envoie un caractère
)

void uart_puts (char * s) (
/ / Boucle jusqu'à ce que * s! = NULL
while (* s) (
usart_putc (* s);
s ;
)
)

void init (void) (
/ / Définit la vitesse de transmission
UBRRH = (uint8_t) (UART_BAUD_CALC (UART_BAUD_RATE, F_OSC)>>

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

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

/ / Activer le récepteur et l'émetteur; permettre RX interrompre
UCSRB = (1 <<RXEN) | (1 <<TXEN) | (1 <<RXCIE);

/ / asynchrone 8N1
UCSRC = (1 <<URSEL) | (3 <<UCSZ0);
)

/ / Interruption peut être interrompu
/ / Signal ne peut pas être interrompu
SIGNAL (SIG_UART_RECV) (/ / USART RX interrompre
unsigned char c;
c = UDR;
usart_putc (c);
)

int main (void) (
init (); USART / / init
sei (); / / enable interrupts

/ / Envoi caractère initial
while (! (UCSRA & (1 <<UDRE)));
UDR = 0x43; / / "C"
while (! (UCSRA & (1 <<UDRE)));
UDR = 0x0D;

/ / Valide PD5 comme sortie
DDRD | = (1 <<PD5);
while (1) (
/ / PIN5 clair PORTD -> LED éteinte
PORTD & = ~ (1 <<PD5);
delay_ms (500);
/ / PIN5 PORTD set -> LED
PORTD | = (1 <<PD5);
delay_ms (500);
)
return 0;
)S'il vous plaît aidez-moi ............

 
D'abord dans la fonction init définir le D3 port comme broche de sortie

DDRD | = (1 <<PD3);

et d'augmenter également le retard, et observer les DEL pour environ 1-2 minutesquelle fréquence vous travaillez à?
et pour déboguer envoyer un personnage à travers UART après chaque on / off

 
Workin m à 4 MHz, fréquence ........... i alrdy augmenté le délai ND encore l'absence de réponse .........

 
mon code précédent était le même que j'ai eu mon sayin ur de sortie sur PD2 mais j'ai eu le même rendement ........ ND mon pgm est gettin simulés sur simulateur de studio AVR correctement .......

 
Nair Vinesh a écrit:

mon code précédent était le même que j'ai eu mon sayin ur de sortie sur PD2 mais j'ai eu le même rendement ........ ND mon pgm est gettin simulés sur simulateur de studio AVR correctement .......
 
Je suis nt u gettin ............... le code i am using PD5 met à clignoter la LED et ........ I am using PD0 et PD1 pour l'interface avec le port sérieAjouté après 1 minutes:Can U s'il vous plaît indiquez-le dans le code de poids exactement ru tryin 2 dire ..........

 
la temporisation de la fonction que vous utilisez est encore faible
après la première itération, la valeur de MS sera 0
La prochaine fois en avant il ne sera pas aller en boucle tout ms

Nair Vinesh a écrit:void delay_ms (unsigned ms courte) (

unsigned short outer1, outer2;

outer1 = 200;

while (outer1) (

outer2 = 1000;

while (outer2) (

while (ms) ms -;

outer2 -;

)

outer1 -;

)

)
 
Code da pour le retard est encore givin pas moi le résultat peut ....... u Envoyez-moi un code autre que ce que j'ai utilisé ..... i coz ne suis pas en mesure de détecter le problème ici ...... ... le code semble être OK ....... mais toujours pas de sortie ....... pls help me out.

 
Can any1 Envoyez-moi un code pour créer un retard à l'aide d'une boucle for pls ........Ajouté après 2 heures 22 minutes:guys pls help me out avec somthin ........ je suis nouvelle dans ce ......

 
Est-ce que le clignotement du voyant besoin de ce codage beaucoup.J'ai pensé choisir un NIP pour la sortie et l'initialiser en sortie.Mettez une boucle de delay / boucle de perdre du temps à l'aide de deux boucles que vous avez fait.Faites attention qu'une fois que la boucle interne est exécutée, le registre connexe est rechargé avec sa valeur d'origine dans la période suivante.À la fin de la boucle de retard (deux boucles) vient compléter les broches du port.garder l'ensemble du processus exécuter indefinetly.Valeurs boucle Delay peut être estimé à partir du code et la fréquence, essai et d'erreur fonctionne aussi.
Raoof

 

Welcome to EDABoard.com

Sponsor

Back
Top