Wpis z mikrobloga

Mireczki, wygrzebałem swoje stare podzespoły i chcę napisać prosty program na Atmegę 8. Pobrałem najnowszy Atmel Studio (chcę spróbować coś innego niż eclipse), tworząc nowy projekt wybrałem ten typ procesora.

Problem jest z biblioteką avr/io.h - nie widzi jej. Widzi np. util/delay.h, a foldery util i avr są w tym samym folderze..

Podejrzewam że może chodzić o niezdefiniowaną wersję atmegi, cały plik io.h to switch po definicjach, jednak nie mam pojęcia jak to określić, jeżeli to jest to.

Dodatkowo, jak w Atmel Studio nadjadę kursorem nad util/delay.h to pojawia mi się pełna ścieżka bezwzględna, a w przypadku avr/io.h - nic.

Program bardzo prosty: http://wklej.to/77qhX

Możecie powiedzieć o co chodzi?

#avr #atmega8 #atmel #atmelstudio #atmelstudio6 #elektronika #mikrokontrolery
  • 32
  • Odpowiedz
@CCCCC: w debug i release jest to samo, jak nie jest ustawione to zwraca warninga.

parametry z jakimi kompiluje avr-gcc:

-x c -funsigned-char -funsigned-bitfields -DNDEBUG -DFCPU=8000000UL -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=atmega8a -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)"

to DF
CPU powinno być tak jak jest?
  • Odpowiedz
-x c -funsigned-char -funsigned-bitfields -DNDEBUG -DF_CPU=8000000UL -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=atmega8a -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)"
Wygląda OK, u mnie identycznie.
@Visher:
  • Odpowiedz
@CCCCC: Może zacznijmy od wyjaśnienia, dlaczego ten program daje efekt migającej diody..

int main(void)
{
DDRB|= (1<< PB0);
PORTB
  • Odpowiedz
@Visher: Nie daje efektu migającej diody. Skoro dioda Ci miga to watchdog Ci resetuje procka. Tak, ustaw tak fusebity. Możesz na sztywno wpisać wartości hex. Czym programujesz? Pamiętaj, by nie programować z maksymalną prędkością.
  • Odpowiedz
@Analityk: @CCCCC: wybaczcie że znowu niepokoję, zastanawiam się, dlaczego po dodaniu #include "src/u8g.h" wyrzuca mi undefined reference to `u8g_'. Dodatkowo, jak próbuję dodać folder żeby i kompilator i linker szukał w nim, to Atmel Studio #!$%@? mi. Da się to jakoś ogarnąć?
  • Odpowiedz