Silver_1 Napisano Styczeń 27, 2020 Udostępnij Napisano Styczeń 27, 2020 Witam! kupiłem pare sztuk Attiny13a żeby zrobić prosty sterownik serwomechanizmu, i tak: zrobiłem wszystko tak jak pokazali na filmie na YouTobie, wypalił się ten bootloader, miganie diodą działa, a kiedy chcę wgrać program do sterowania serwem to wyskakuje mi taki komunikat: Arduino:1.8.9 (Windows Store 1.8.21.0) (Windows 10), Płytka:"ATtiny13, 9.6 MHz internal osc., BOD 2.7V, Micros disabled" Opcje projektu zmienione, przeładuj całość C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp: In function 'void TIMER1_COMPA_vect()': C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:82:31: error: 'TCNT1' was not declared in this scope handle_interrupts(_timer1, &TCNT1, &OCR1A); ^ C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:82:39: error: 'OCR1A' was not declared in this scope handle_interrupts(_timer1, &TCNT1, &OCR1A); ^ C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp: In function 'void initISR(timer16_Sequence_t)': C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:128:5: error: 'TCCR1A' was not declared in this scope TCCR1A = 0; // normal counting mode ^ C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:129:5: error: 'TCCR1B' was not declared in this scope TCCR1B = _BV(CS11); // set prescaler of 8 ^ In file included from c:\program files\windowsapps\arduinollc.arduinoide_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr\avr\include\avr\io.h:99:0, from c:\program files\windowsapps\arduinollc.arduinoide_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr\avr\include\avr\interrupt.h:38, from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:22: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:129:18: error: 'CS11' was not declared in this scope TCCR1B = _BV(CS11); // set prescaler of 8 ^ C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:130:5: error: 'TCNT1' was not declared in this scope TCNT1 = 0; // clear the timer count ^ C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:136:5: error: 'TIFR1' was not declared in this scope TIFR1 |= _BV(OCF1A); // clear any pending interrupts; ^ In file included from c:\program files\windowsapps\arduinollc.arduinoide_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr\avr\include\avr\io.h:99:0, from c:\program files\windowsapps\arduinollc.arduinoide_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr\avr\include\avr\interrupt.h:38, from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:22: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:136:18: error: 'OCF1A' was not declared in this scope TIFR1 |= _BV(OCF1A); // clear any pending interrupts; ^ C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:137:5: error: 'TIMSK1' was not declared in this scope TIMSK1 |= _BV(OCIE1A) ; // enable the output compare interrupt ^ In file included from c:\program files\windowsapps\arduinollc.arduinoide_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr\avr\include\avr\io.h:99:0, from c:\program files\windowsapps\arduinollc.arduinoide_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr\avr\include\avr\interrupt.h:38, from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:22: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:137:20: error: 'OCIE1A' was not declared in this scope TIMSK1 |= _BV(OCIE1A) ; // enable the output compare interrupt ^ exit status 1 Błąd kompilacji dla płytki ATtiny13. Błędna biblioteka znaleziona w C:\Users\Silver1\Documents\Arduino\libraries\SD: brak plików nagłówkowych (.h) w C:\Users\Silver1\Documents\Arduino\libraries\SD Błędna biblioteka znaleziona w C:\Users\Silver1\Documents\Arduino\libraries\SD: brak plików nagłówkowych (.h) w C:\Users\Silver1\Documents\Arduino\libraries\SD Ten raport powinien zawierać więcej informacji jeśli w File -> Preferencje zostanie włączona opcja "Pokaż szczegółowe informacje podczas kompilacji" Czy to może mieć związek z tym że jest jakaś większa różnica między Attiny 13 i Attiny13a ? link do dodatkowych adresów URL do menedźera płytek: https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json I jeszcze kod programu w razie W : #include <Servo.h> Servo serwomechanizm; int odczytanaWartosc; void setup() { serwomechanizm.attach(1); } void loop() { odczytanaWartosc = analogRead(A1); serwomechanizm.write(odczytanaWartosc); } Układ programuje w Arduino IDE, Windows 10, Arduino nano jako programator, daje jeszcze screen ustawień płytki:
Belferek Styczeń 27, 2020 Udostępnij Styczeń 27, 2020 (edytowany) A czy w ATtiny13A jest taki rejestr TCNT1? Ten mikrokontroler ma tylko jeden licznik TCNT0. Twój program raczej powinien pracować na rejestrach, które w układzie się znajdują. Edytowano Styczeń 27, 2020 przez Belferek
Silver_1 Styczeń 27, 2020 Autor tematu Udostępnij Styczeń 27, 2020 (edytowany) hm, no pobawiłem się jeszcze chwilę, ale jak wybiorę opcję Attiny13A to jest podobnie i nadal nie działa, więc nie wiem już o co chodzi Edytowano Styczeń 27, 2020 przez Silver_1
Belferek Styczeń 27, 2020 Udostępnij Styczeń 27, 2020 (edytowany) C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\Servo\src\avr\Servo.cpp:130:5: error: 'TCNT1' was not declared in this scope TCNT1 = 0; // clear the timer count ^ Przecież wszystko masz napisane w komunikacie. Próbujesz użyć klasy Servo, a ta odwołuje się do nieistniejącego rejestru tu- TCNT1 Moim zdaniem nie możesz tej biblioteki użyć z tym mikrokontrolerem. Zobacz datasheet dla ATtiny13A - tam nie ma Timer1. Tak na marginesie tu znajdziesz wiele projektów korzystających z ATtiny13 - warto zobaczyć. Edytowano Styczeń 27, 2020 przez Belferek
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »