LED ni siquiera se enciende con avr [cerrado]

-5

Como indica el título, he estado teniendo problemas con la programación de mi atmega328 para ejecutar un código simple que enciende un led. El código está aquí

#define F_CPU 8000000UL

#include <avr/io.h>
#include <stdio.h>
#include <util/delay.h>
#include <avr/interrupt.h>

#define led_ddr DDRD
#define led_prt PORTD
#define led_pin PD6

int main (void) {

    led_ddr |= (1 << led_pin);
    led_prt |= (1 << led_pin); 


}

Como puede ser muy simple, el problema es que aunque tengo todo conectado en el lugar correcto con el programador AVR y el chip de atmel, se niega a encender el led.

El programa que utilizo se llama atmel studio e incluso no reconoce ningún problema, ni el programador le da ningún cambio de color al estado del led, es solo verde.

lo único que noté es que el led cerca del lado del puerto del programador comienza a parpadear en verde, no en el estado.

Me pregunto si se trata de una placa base defectuosa, un chip o tal vez algo malo con el programador o tal vez incluso con el código.

estoy confundido porque solía poder programar interrupciones de ctc ahora ni siquiera puedo encender un led.

Aquí hay un esquema de mi configuración:

    
pregunta Redrachet2

2 respuestas

2

En su esquema, el pin RESTABLECIMIENTO del encabezado ICSP está conectado a la fuente positiva; debe estar conectado al otro extremo de la resistencia de extracción de 10k en el pin 1. Este error evitará que el programador ponga su chip en el modo de programación. Si refleja con precisión su configuración, solo esto le explicará el comportamiento que ve.

Los comentarios de otros sobre la necesidad de una resistencia de serie también son sólidos.

PS: Su esquema no muestra desacoplamiento de suministro. Importa, ya sabes.

    
respondido por el Mike Spivey
0

Finalmente encontré la respuesta, y lamento decir que fue una mezcla con los archivos. Cuando intentaba publicar un enlace a Github para este proyecto en particular, noté que cada vez que guardaba algo, Github no recibía mis cambios para ese proyecto en particular.

Cuando examiné este asunto descubrí que el archivo que estaba guardando y compilando (mi archivo main.c) estaba guardando en otro proyecto. En realidad estaba modificando el archivo C que pertenece a otro proyecto en lugar del archivo C en el proyecto que abrí actualmente.

Me confundí porque en Atmel studio etiquetó el proyecto como GccApplication1, y el nombre del archivo era main.c, sin embargo, el archivo main.c era el archivo de otro proyecto llamado avr_blinking_test (ya que nombro todos mis archivos c principales. c, solo el nombre del proyecto es diferente).

Eso era lo que estaba modificando, pero lo que en realidad estaba compilando y enviando al chip era el archivo main.c de GccApplication1 que, por casualidad, era un programa en blanco que explicaba la falta de parpadeo o iluminación del LED.

Esto fue un problema para mí durante casi una semana hasta que me di cuenta del problema con Github en este momento.

Me gustaría disculparme por perder todo su tiempo, aprendí mucho de todos ustedes y muchas gracias por toda su ayuda

    
respondido por el Redrachet2

Lea otras preguntas en las etiquetas