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

Wszystko związane z jądrem systemowym, sterownikami, sprzętem itp.
Awatar użytkownika
pawkrol
Moderator
Posty: 925
Rejestracja: 03 kwietnia 2011, 10:25

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

Post autor: pawkrol » 26 listopada 2018, 07:35

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).

Awatar użytkownika
arturromarr
Beginner
Posty: 131
Rejestracja: 14 sierpnia 2015, 01:21

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

Post autor: arturromarr » 30 listopada 2018, 21:23

Działa ci już?
Co chcesz na AVRze ciekawego zrobić, jakiś projekt czy nauka?

jacekj11
Posty: 71
Rejestracja: 05 listopada 2011, 15:13

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

Post autor: jacekj11 » 16 grudnia 2018, 22:09

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.

Awatar użytkownika
arturromarr
Beginner
Posty: 131
Rejestracja: 14 sierpnia 2015, 01:21

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

Post autor: arturromarr » 18 grudnia 2018, 16:47

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ć.

jacekj11
Posty: 71
Rejestracja: 05 listopada 2011, 15:13

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

Post autor: jacekj11 » 22 grudnia 2018, 09:47

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.

Awatar użytkownika
arturromarr
Beginner
Posty: 131
Rejestracja: 14 sierpnia 2015, 01:21

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

Post autor: arturromarr » 28 grudnia 2018, 12:01

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.

ODPOWIEDZ