Strona 2 z 2

Re: Jaki port COM dla przejściówki RS232<->USB

: 26 listopada 2018, 07:35
autor: pawkrol
Zobacz czy user na którym uruchamiasz putty ma uprawnienia do portu, z tego co kojarze musisz należeć do grupy dialout. Z shella nie wykonujesz polecenia przypadkiem jako root?
Polecam też wpisanie sobie takie sprzętu do udev, żeby zawsze był pod tym samym aliasem.
Co do ustawień samego portu, to ja osobiście ustawiam tylko baud reszta domyślnie i działa (AVR chodzi na 8n1 9600).

Re: Jaki port COM dla przejściówki RS232<->USB

: 30 listopada 2018, 21:23
autor: arturromarr
Działa ci już?
Co chcesz na AVRze ciekawego zrobić, jakiś projekt czy nauka?

Re: Jaki port COM dla przejściówki RS232<->USB

: 16 grudnia 2018, 22:09
autor: jacekj11
Puki co nauka, słabo jest u mnie z pisaniem kodu, więc staram się ruszyć z tym na ile mi czas pozwala. Działało ale już miałem tak namieszane że kompilacja kodu do 50 linijek w Eclipse trwała ponad 5 sekund więc musiałem przeinstalować system. Po każdym restarcie musiałem udostępniać z poziomu roota port na którym była przejściówka USB<->RS232, teraz nie pamiętam co pisałem żeby udostępnić port więc nie mogę ruszyć dalej.
Co do nauki programowania czytam powoli Kardasia i staram się w miarę swoich możliwości zrozumieć jego przykłady.

Re: Jaki port COM dla przejściówki RS232<->USB

: 18 grudnia 2018, 16:47
autor: arturromarr
Po stronie Linuxa zainstaluj sobie jakiś graficzny terminal szeregowy:
-cutecom - dostępny w standardowych repozytoriach, albo taki którego ja używam
-moserial - można łatwo zainstalować z jakiejś paczki deb dla Ubuntu.
Z poziomu root-a dodajesz normalnego użytkownika do grupy dialout:

Kod: Zaznacz cały

adduser twój_user dialout
Ja musiałem zrestartować system i po zalogowaniu jako zwykły użytkownik i odpaleniu moserial, w ustawieniach portu mam urządzenie: /dev/ttyUSB0

Od strony pisania kodu pod AVR na początek wystarczy zwykły edytor np. Geany i plik make. Będzie się błyskawicznie kompilować.

Re: Jaki port COM dla przejściówki RS232<->USB

: 22 grudnia 2018, 09:47
autor: jacekj11
arturromarr pisze:
18 grudnia 2018, 16:47
...Od strony pisania kodu pod AVR na początek wystarczy zwykły edytor np. Geany i plik make. Będzie się błyskawicznie kompilować.
Chciaa bym spróbować Geany bo Eclipse neon działa mi tragicznie powoli. Mógł byś mi napisać krok po kroku jak jak mam go skonfigurować do pracy z AVRami, albo dać jakiś link najlepiej po polsku.

Re: Jaki port COM dla przejściówki RS232<->USB

: 28 grudnia 2018, 12:01
autor: arturromarr
Dlatego zaproponowałem Geany, ponieważ on nie wymaga praktycznie konfiguracji. Wszystko kontroluje plik makefile, który musi się znajdować w katalogu projektu.
Jeśli miałeś skonfigurowane Eclipse to pewnie większość pakietów masz zainstalowaną, ale upewnij się:
gcc
binutils
pkg-config
gcc-avr
avr-libc
avrdude
binutils-avr
geany
Teraz tworzysz katalog swojego projektu. Na początek zrób w nim najprostszy program, który zawiera się w jednym pliku (ten nic nie robi):
plik: katalog projektu/prog.c

Kod: Zaznacz cały

#include <avr/io.h>
int main(void)
{	
while (1) {
;
	};
	return 0;
}
Teraz tworzysz w tym samym katalogu plik który to skompiluje:
plik: katalog projektu/makefile

Kod: Zaznacz cały

#-----------------------------------------------------------------------
# makefile_AVR
# Prosty plik make do kompilacji programów C dla mikrokontroleró ATmega
# kompilacja jednego wskazanego pliku
#-----------------------------------------------------------------------
# Komendy:
# make = Kompilacja kodu źródłowego.
# make clean = Czyszczenie wyjściowych plików projektu.
# make program = załadowanie kodu do procesora
#-----------------------------------------------------------------------

MCU=atmega16
F_CPU=2000000
CC=avr-gcc
CFLAGS=-g -mmcu=$(MCU) -Wall -Os -DF_CPU=$(F_CPU)
OBJCOPY=avr-objcopy
SRCS=prog.c
TARGET=program
#---------------- Opcje programatora (avrdude) ----------------
AVRDUDE_PROGRAMMER = usbasp
AVRDUDE_CLOCK = 0.5	


all: $(TARGET).hex
$(TARGET).hex : $(TARGET).out
	$(OBJCOPY) -O ihex $(TARGET).out $(TARGET).hex
$(TARGET).out : $(SRCS)
	$(CC) $(CFLAGS) -I./ -o $(TARGET).out $(SRCS)

clean:
	rm -f *.hex *.out

# Programowanie urządzenia.  
program: $(TARGET).hex
	avrdude -p $(MCU) -B $(AVRDUDE_CLOCK) -c $(AVRDUDE_PROGRAMMER)  -U flash:w:$(TARGET).hex
Taki minimalisyczny projekt można już obsługiwać z lini poleceń terminala, ale jak mamy Geany to można sobie poklikać:
Otwierasz w Geany plik programu prog.c
Edytor sam powiąże ten plik z makefile znajdujące się w tym samym katalogu. Wystarczy wybrać z menu: Zbuduj->Make
W katalogu projektu przybędą pliki: program.out i program.hex (nazwy możesz edytować w pliku makefile)
Teraz dla wygody posługiwania się programem warto zdefiniować przyciski w menu dla pozostałych poleceń z pliku makefile:
w menu wybieramy: Zbuduj->Zdefiniuj polecenia budowania->Polecenia uniwersalne
Ja dodaje w pozycjach 3 i 4:
3. [clean] make clean
4. [program] make program
Teraz możesz jednym kliknięciem załadować program do procesora lub wyczyścić katalog projektu.
W pliku makefile musisz ustawić opce avrdude pod programator jaki masz. Ja mam USBASP i taki jest ustawiony.
Napisz jak poszło to spróbujemy z bardziej uniwersalnymi plikami makefile.

Re: Jaki port COM dla przejściówki RS232<->USB

: 19 maja 2019, 22:12
autor: jacekj11
Witam dawno się nie odzywałem ale nie było czasu. To co napisał arturromarr działa idealnie.
Czy jest możliwość żeby program sam wykrywał jaki procesor jest podłączony do programatora?

Re: Jaki port COM dla przejściówki RS232<->USB

: 20 maja 2019, 22:00
autor: arturromarr
Wszystko jest możliwe, ale to ma niewielki sens. Wysiłek polegający na wpisaniu procesora jest niewielki.
Lepiej skupić się na pisaniu programu, który przecież też musi być pisany pod konkretny procesor.

Re: Jaki port COM dla przejściówki RS232<->USB

: 21 maja 2019, 22:58
autor: jacekj11
To w takim razie napisz jak skonfigurować makefile jeżeli w projekcie mam kilka plików *.h i *.c w różnych katalogach i chcę procesor taktować z zewnętrznego kwarcu.