Cześć,
mam problem z ATtiny4 w wersji 6 pinów zakupionymi w TME.
Mikrokontroler wyciągnięty z opakowania i przylutowany do płytki testowej.
Program testowy pinów:
Programuję go SNAP-em przez interfejs TPI.
Po kliknięciu w Microchip Studio ikonki "Start Without Debugging" komunikaty wyglądają następująco:
Jak widać powyżej nie zgłasza żadnych problemów, ale piny PB0, PB1 i PB2 nie są ustawione na wyjścia (sprawdzałem zewnętrznym rezystorem pull-up), ani nie mają stanu wysokiego, czyli są w stanie HiZ.
Aby sprawdzić, czy na pewno SNAP programuje ATtiny4, odłączałem po kolei sygnały DAT, CLK i RESET i próbowałem programować. W takim przypadku IDE oczywiście zgłaszało błąd:
Zaznaczam, że SNAP spokojnie programuje ATtiny202 ale przez UPDI.
Jestem w kropce, bo ATtiny4 to pierwszy mój mikrokontroler z interfejsem TPI.
Coś robię nie tak?
Dodano po 11 [minuty]:
Uprościłem ten program do wersji:
i w pliku .lss jest prawidłowy kod:
Adresy rejestrów są prawidłowe bo według dokumentacji:
- DDRB ma adres 0x01
- PORTB ma adres 0x02
Wszystko jest więc ok, ale jak pisałem wcześniej piny są w stanie HiZ
Domyślnie mikrokontroler działa na wewnętrznym generatorze 1MHz.
Jak sprawdzić, czy SNAP go faktycznie programuje?
mam problem z ATtiny4 w wersji 6 pinów zakupionymi w TME.
Mikrokontroler wyciągnięty z opakowania i przylutowany do płytki testowej.
Program testowy pinów:
Kod: C / C++
Programuję go SNAP-em przez interfejs TPI.
Po kliknięciu w Microchip Studio ikonki "Start Without Debugging" komunikaty wyglądają następująco:
Cytat:------ Build started: Project: ATtiny4-testy, Configuration: Release AVR ------
Build started.
Project "ATtiny4-testy.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "K:\bogncn\ATtiny4\ATtiny4-testy\ATtiny4-testy\ATtiny4-testy.cproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 8 --output-sync
make: Nothing to be done for 'all'.
Done executing task "RunCompilerTask".
Task "RunOutputFileVerifyTask"
Program Memory Usage : 56 bytes 10,9 % Full
Data Memory Usage : 0 bytes 0,0 % Full
Warning: Memory Usage estimation may not be accurate if there are sections other than .text sections in ELF file
Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "ATtiny4-testy.cproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "K:\bogncn\ATtiny4\ATtiny4-testy\ATtiny4-testy\ATtiny4-testy.cproj" (entry point):
Done building target "Build" in project "ATtiny4-testy.cproj".
Done building project "ATtiny4-testy.cproj".
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
Jak widać powyżej nie zgłasza żadnych problemów, ale piny PB0, PB1 i PB2 nie są ustawione na wyjścia (sprawdzałem zewnętrznym rezystorem pull-up), ani nie mają stanu wysokiego, czyli są w stanie HiZ.
Aby sprawdzić, czy na pewno SNAP programuje ATtiny4, odłączałem po kolei sygnały DAT, CLK i RESET i próbowałem programować. W takim przypadku IDE oczywiście zgłaszało błąd:
Zaznaczam, że SNAP spokojnie programuje ATtiny202 ale przez UPDI.
Jestem w kropce, bo ATtiny4 to pierwszy mój mikrokontroler z interfejsem TPI.
Coś robię nie tak?
Dodano po 11 [minuty]:
Uprościłem ten program do wersji:
Kod: C / C++
i w pliku .lss jest prawidłowy kod:
Kod: C / C++
Adresy rejestrów są prawidłowe bo według dokumentacji:
- DDRB ma adres 0x01
- PORTB ma adres 0x02
Wszystko jest więc ok, ale jak pisałem wcześniej piny są w stanie HiZ
Domyślnie mikrokontroler działa na wewnętrznym generatorze 1MHz.
Jak sprawdzić, czy SNAP go faktycznie programuje?