Popularny post ackarwow Napisano 1 stycznia Popularny post Udostępnij Napisano 1 stycznia Kłaniam się wszystkim Forumowiczom Chciałbym zaproponować Wam edytor mojego autorstwa przeznaczony do pisania programów w Pascalu dla mikrokontrolerów AVR, który nazwałem AVRPascal. AVRPascal wykorzystuje kompilator Free Pascal do tworzenia pliku wynikowego oraz AVRdude, który umożliwia zapisanie kodu w pamięci mikrokontrolera z użyciem programatora USBasp lub płytki Arduino (AVRPascal obsługuje kilka typów płytek). AVRPascal posiada: - podświetlaną składnię, w przypadku błędów kompilacji wskazuje linię kodu, w której wystąpił błąd - podpowiedzi parametrów funkcji i procedur oraz pól typów rekordowych i metod typów klasowych - możliwość pracy z wieloma plikami w zakładkach - możliwość konfiguracji fuse-bitów mikrokontrolera - możliwość automatycznego wykrycia obsługiwanych urządzeń USB (tj USBAsp, płytek Arduino) AVRPascal jest absolutnie darmowy (freeware). Program staram się rozwijać na bieżąco, nowe wersje pod Windows, Linux i MacOS umieszczam na mojej stronie internetowej. Jeśli korzystacie z Arduino Uno to może Wam się przydać biblioteka UnoLib, którą dołączyłem do edytora. Jest to tłumaczenie na język Pascal części standardowej biblioteki Arduino oraz dodatkowo kilka przykładowych projektów. Oczywiście biblioteka nadaje się do programowania ATMega328p bez Arduino. Jeśli nie mieliście do tej pory styczności z językiem Pascal to na mojej stronie znajdziecie również kurs programowania AVR-ów z użyciem AVRPascala. Jest to darmowy kurs w formie PDF-ów opisujący od podstaw jak pisać proste programy w języku Pascal tym razem dla ATTiny13. Mam nadzieję, że program się Wam spodoba. Będę wdzięczny za wszelkie komentarze (szczególnie te krytyczne). 8 Link do komentarza Share on other sites More sharing options...
FlyingDutch 4 stycznia Udostępnij 4 stycznia Cześć, naprawdę fajny projekt - gratuluje. Pascal to pierwszy język wysokiego poziomu, jakiego się nauczyłem -mam do niego duży sentyment. Pozdrawiam 2 Link do komentarza Share on other sites More sharing options...
ackarwow 4 stycznia Autor tematu Udostępnij 4 stycznia 2 godziny temu, FlyingDutch napisał: Cześć, naprawdę fajny projekt - gratuluje. Pascal to pierwszy język wysokiego poziomu, jakiego się nauczyłem -mam do niego duży sentyment. Pozdrawiam Dzięki za miłe słowa 😃 Proponuję więc wypróbować program, nie trzeba niczego dodatkowego instalować - kompilator FPC, linker i AVRdude instalują się razem z programem. Są też przykładowe projekty dla Arduino Uno (w paczce instalacyjnej) oraz ATTiny13 (PDF-y na stronie). Ponadto użytkownicy mają wpływ na kształt programu - dodałem ostatnio formater kodu na prośbę jednego z użytkowników. Pozdrawiam serdecznie 2 Link do komentarza Share on other sites More sharing options...
FlyingDutch 4 stycznia Udostępnij 4 stycznia 3 godziny temu, ackarwow napisał: Dzięki za miłe słowa 😃 Proponuję więc wypróbować program, nie trzeba niczego dodatkowego instalować - kompilator FPC, linker i AVRdude instalują się razem z programem. Są też przykładowe projekty dla Arduino Uno (w paczce instalacyjnej) oraz ATTiny13 (PDF-y na stronie). Ponadto użytkownicy mają wpływ na kształt programu - dodałem ostatnio formater kodu na prośbę jednego z użytkowników. Pozdrawiam serdecznie Mam zamiar wypróbować ten edytor. Pozdrawiam 1 Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
H1M4W4R1 4 stycznia Udostępnij 4 stycznia W sumie fajny projekt, chociaż wolę języki, które gwarantują type-safety (przykładowo C#, w którym ciężko coś zepsuć), ale to by już wymagało pisania kompilatora od zera (dość proste zadanie, ale ciężko zagwarantować jego poprawne działanie dla wszystkiego co użytkownik tam wstawi). 1 Link do komentarza Share on other sites More sharing options...
Popularny post ackarwow 4 stycznia Autor tematu Popularny post Udostępnij 4 stycznia 22 minuty temu, H1M4W4R1 napisał: W sumie fajny projekt, chociaż wolę języki, które gwarantują type-safety (przykładowo C#, w którym ciężko coś zepsuć), ale to by już wymagało pisania kompilatora od zera (dość proste zadanie, ale ciężko zagwarantować jego poprawne działanie dla wszystkiego co użytkownik tam wstawi). Dzięki za komentarz. Zakładam, że użytkownik/programista wie co robi, a przynajmniej wie co chce zrobić - więc jak będzie chciał co zepsuć to i tak zepsuje 😀 Nie zauważyłem aby Pascal pozwalał na jakąś szczególną dowolność w konwersji typów danych, wydaje mi się, że jest wystarczająco szczelny w tym zakresie. Ale to moje wrażenie, moge się mylić. Z drugiej strony często mam potrzebę rzutowania typu (type-casting) w kodzie dla AVR-ów więc dla minie ta cecha języka (tj. type-safety) nie jest najistotniejsza. Chociaż rozumiem, że w wielu przypadkach się przydaje aby uniknąć błędów. Myślę, że przypadku Pascala dla AVR-ów (czywiście także C i pewnie wielu inych języków) większym atutem jest możliwość wstawek asemblerowych. Chociaż optymalizacja w kompilatorze FPC dla AVR działa nieźle, czasem warto mieć pełną kontrolę nad tym co trafia do pamięci flash mikrokontrolera 😀 3 Link do komentarza Share on other sites More sharing options...
FlyingDutch 10 stycznia Udostępnij 10 stycznia Dnia 4.01.2025 o 16:31, H1M4W4R1 napisał: W sumie fajny projekt, chociaż wolę języki, które gwarantują type-safety (przykładowo C#, w którym ciężko coś zepsuć), ale to by już wymagało pisania kompilatora od zera (dość proste zadanie, ale ciężko zagwarantować jego poprawne działanie dla wszystkiego co użytkownik tam wstawi). Cześć, Pascal jest językiem "strong typed" i gwarantuje type-safety tak samo jak C/C++, czy C# 🙂 Pozdrawiam 2 Link do komentarza Share on other sites More sharing options...
H1M4W4R1 10 stycznia Udostępnij 10 stycznia 45 minut temu, FlyingDutch napisał: Pascal jest językiem "strong typed" i gwarantuje type-safety tak samo jak C/C++, czy C# 🙂 Bardziej chodziło o wymagania typu: wymuszenie bezpośredniej deklaracji, że dany obiekt może być null'em (lub nie) czy tego że dana struktura może istnieć tylko na stosie. Ewentualnie, że w danym segmencie kodu nie jest dozwolone przekroczenie zakresu liczbowego (ew. dozwolone). Nie znam na tyle Pascala, by od ręki stwierdzić, że to na 100% tam nie istnieje, ale w C zdecydowanie tego nie widziałem. 1 Link do komentarza Share on other sites More sharing options...
ackarwow 10 stycznia Autor tematu Udostępnij 10 stycznia 3 godziny temu, H1M4W4R1 napisał: Bardziej chodziło o wymagania typu: wymuszenie bezpośredniej deklaracji, że dany obiekt może być null'em (lub nie) czy tego że dana struktura może istnieć tylko na stosie. Ewentualnie, że w danym segmencie kodu nie jest dozwolone przekroczenie zakresu liczbowego (ew. dozwolone). Nie znam na tyle Pascala, by od ręki stwierdzić, że to na 100% tam nie istnieje, ale w C zdecydowanie tego nie widziałem. Myślę, że większym bólem głowy, szczególnie w przypadku złożonych projektów jest rozmiar kodu, a raczej jego ograniczenia wynikające z rozmiaru dostępnej w mikrokontrolerze pamięci flash. Chodzi więc o to, żeby kod wynikowy zmieścił się w pamięci, dlatego wcześniej pisałem o wstawkach asemblerowych. To oczywiście tylko jedna z potencjalnych metod redukcji rozmiaru kodu wynikowego... 1 Link do komentarza Share on other sites More sharing options...
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ę »