logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Programowanie arduino w C w Atmel Studio 7, czy to dobry pomysł?

Dzonzi 05 Lut 2018 19:26 4179 14
REKLAMA
  • #1 17015356
    Dzonzi
    Poziom 12  
    Witam
    Potrzebuję trochę ogarnąć C i avr coby zaliczyć laborki w przyszłym semestrze. Mam akurat arduino to chyba nie potrzebuje kupować gołej atmegi i programatora.
    Mam taki program do migania diodą, ale nie wiem jak zaadresować PIN do tej diody na płytce. Chcę na razie sprawdzić, czy to wszystko będzie ze sobą grać i chce nią zamigać.
    A więc który pin powinienem wpisać, żeby zamiagać tą diodą na płytce arduino? Tak normalnie to jest to pin 13, patrzę w datashit i to jest PD7, tak?
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 17015411
    JacekCz
    Poziom 42  
    Treść twojego pytania nie przystaje do tematu.
    Co jest istotą pytania?

    Masz jakikolwiek problem ze STUDIO 7 ?
  • REKLAMA
  • #3 17015424
    Dzonzi
    Poziom 12  
    Czyli generuje hex w stmel studio 7, a następnie wgrywam go na arduino np. arduino builderem, tak?

    Dodano po 11 [minuty]:

    Tak jak pomyślałem, tak zrobiłem i wszystko gra i buczy ;)
    Zamykam.
  • #4 17015467
    tronics
    Poziom 38  
    datashit? Jeszcze pewnie zrozumiałbym datasheet, ale niemniej po 273 postach powinien kolega wiedzieć jak należy się wyrażać na forum. Mapowanie pinów na standard arduino to np.
    https://www.arduino.cc/en/Hacking/PinMapping168, ewentualnie można podejrzeć schemat. Zatem w nano i uno D13/yellow LED to PB5, a w Mega jest to PB7.
  • REKLAMA
  • #5 17015488
    Dzonzi
    Poziom 12  
    No dobra, a jak jest ten cały port C analog input to z poziomu arduino nie może to być wejście? Rozumiem, że jak teraz programuje go jako zwykłego AVR to mogę dowolnie ustawiać sobie wejścia/wyjścia? No oprócz PB5, bo do niego jest przylutowana dioda i już nic na to nie poradzę.
  • #7 17027436
    marcin w
    Poziom 22  
    Sam również używam płytki arduino uno jako gotowej platformy sprzętowej do pracy z mikrokontrolerem. Ale samo programowanie już w atmel studio, wgrywam przez usbasp (arduino ma takie złacze na płytce)

    Co do samego pytania, w AVRach atmega port składa w zasadzie z trzech rejestrów, każdy rejestr to 8 bitów odpowiadających fizycznym pinom mikrokontrolera.

    DDRx - rejestr kierunku, logiczna 1 na danym bicie ustawi pin mikrokontrolera jako wyjście, logiczne 0 na danym bicie to pin jako wejście
    PORTx - rejestr wyjściowy
    PINx - rejestr wejściowy

    Popatrz na pinout arduino, PB5 mikrokontrolera (armega328 bo zakładam że taką masz) jest na 13stym pinie arduino.

    PS.
    W pętli nieskończonej możesz ten sam efekt osiągnąć stosując negację bitu.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    W zasadzie to samo tylko mniej kodu.
  • REKLAMA
  • #8 17027501
    tronics
    Poziom 38  
    Cytat:
    Ale samo programowanie już w atmel studio, wgrywam przez usbasp (arduino ma takie złacze na płytce)

    Tylko po co, można było zostawić bootloader Arduino i spokojnie wgrywać przez USB programy napisane w atmel studio bez frameworka arduino. Nawet jakiś czas temu gdzieś na forum tłumaczyłem co i jak ustawić w avrdudess.
  • #9 17027632
    Dzonzi
    Poziom 12  
    Ja po prostu buduję program, a następnie kopiuję z AS7 kod hex i wgrywam innym programem na arduino
  • #10 17027824
    Slawek K.
    Poziom 35  
    Wystarczy doinstalować plugin Visual Micro for Arduino dla ATmel Studio 7 i wszystko masz z poziomu Atmel Studio.
    http://www.visualmicro.com/
    Trzeba tylko mieć Adruino IDE na dysku, może być wersja portable. Plugin obsługuje możliwość obsługi dwóch wersji Arduino IDE. Piszesz, wgrywasz itp. - wszystko z AS7 bez kombinacji z wykorzystywaniem zewnętrznych programów do wgrywania hexa. Jak podłączysz arduino, to masz możliwość softwerowego debugowania, bardzo się przydaje.

    Pozdr
    Sławek
  • #11 17027831
    Dzonzi
    Poziom 12  
    Z tego co widzę pod tym linkiem to tam kod jest pisany tym językiem arduinowym. W czystym C też można pisać?
  • #13 17027945
    Dzonzi
    Poziom 12  
    To jaki jest sens jego instalacji? Ludzie... przecież ja chce programować arduino jak zwykłą atmege328 w czystym C. Gdybym chciał programować jak arduino to nie instalowałbym AS7, tylko ten natywny program do wgrywania na arduino.
  • #14 17027989
    Slawek K.
    Poziom 35  
    tronics napisał:
    Nie...

    Jestes pewien ?

    Pozdr
    Sławek
    Dodano po 2 [minuty]:
    Dzonzi napisał:
    To jaki jest sens jego instalacji? Ludzie... przecież ja chce programować arduino jak zwykłą atmege328 w czystym C. Gdybym chciał programować jak arduino to nie instalowałbym AS7, tylko ten natywny program do wgrywania na arduino.

    To pisz w czym chcesz i programuj jak zwykła atmege, w czym problem ? ;)

    Pozdr
  • #15 17028048
    Dzonzi
    Poziom 12  
    Bo nie wiedziałem jak to zrobić
REKLAMA