Skocz do zawartości

Rekomendowane odpowiedzi

A, mam to, mam, już widziałem, w niedzielę się z tym zasymilowałem. Ale bardzo dziękuję.

Oczywiście podstawowa potrzeba to sterownik do lampy LED... ale jak już się człowiek rozpędzi ... to czemu i nie falownik. Rozczajam jeszcze zegar RTC żeby wszystko tworzyło zwartą całość.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ktoś z życzliwych może polecić jakiś emulator tej atmegi, a może istnieje też emulator układów elektronicznych (stawiam że tak)?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Mogę odradzić:) po co ci to do szczęścia ?? Piszesz program, wgrywasz do układu docelowego, testujesz, piszesz poprawkę, wgrywasz, testujesz.. i tak do skutku który cie zadowoli...

BTW w czym piszesz? symulatory programowe nie wystarczają ??

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ja sie za chiny ludowe nie moge dogadac z tym symulatorem w bascomie :/ cos tam niby dziala ale calkowicie inaczej niz w ukladzie. Najlepsza metoda to wgrywac.... wgrywac... wgrywac... :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Bascomowy jest rzeczywiście upierdliwy, trzeba czasem mu ręcznie stan pinów procka ustawić, ale potem całkiem znośnie. W AVRStudio jest też ok, i to o wiele bardziej szczegółowo i rozbudowanie. W każdym razie na pewno przydaje się do śledzenia skoków w algorytmie, można sobie wykonać "step by step" każdą pętle i wyłapać błędy.

Osobiście bardzo rzadko korzystam. Nie wiem, z biegiem czasu, z każdym kB kodu, jakoś tak mniej potrzebne są symulatory.. :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a tak sie zaczalem zastanawiac. Dawno temu meczylem program crocodile cos tam jakos tam :) i do ukladow analogowych symulacja byla w prost bajeczna. Ciekawe czy istnieje opcja symulacji ukladow cyfrowych... po walkach sprawdze normalnie :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Piszę w C. A sprawa jest taka, że procek wraz paczką wrócił do sklepu bo namieszali w zamówieniu i czekam na ponowną wysyłkę, a że coś tam naskrobałem to chciałem zobaczyć czy to działa tak jak mi się wydaje że powinno działać :).

Ściągnąłem AVR Studio 4, i jak na razie debugguje w nim i patrzę co tam w rejestrach i na wyjściach jest wypisywane... (lub tez wydaje mi się że jest wypisywane), ale wicie,rozumicie, jakbym zobaczył mrugająca diodę to bym uwierzył :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Mrugająca dioda w C ? proszę bardzo.

/*
* main.c
*
*  Created on: 2011-05-21 22:15
*   	Autor: Loccutus
*/

#include <util/delay.h>
#include <avr/io.h>

#define LED_PIN (1<<PB1) // dioda LED na pinie PB.1
#define LED_TOGGLE PORTB ^= LED_PIN	// makro togglujące diode
#define KEY_PIN (1<<PB2) //klawisz do toggla na PB2


int main(void)
{
DDRB |= LED_PIN; //rejestr kierunku - pin jako wyjscie
DDRB &= ~KEY_PIN; // a tu jako wejście


// i petla w kółko

while(1)
{
	if( !(PINB & KEY_PIN) )
	{
		_delay_ms(500); //tłumienie drgan klawisza

		if( !(PINB & KEY_PIN) )
		{
			LED_TOGGLE;
		}
	}
}
}

a to samo w Bascom: - proszę bardzo:

$regfile = "m8def.dat"
$crystal = 8000000
Config Pinb.2 = Input : KEY_PIN Alias Pinb.2
Config Pinb.1 = Output : LED_PIN Alias Portb.1

Do
If KEY_PIN = 0 Then
	waitms 500 : Toggle LED_PIN
End if
Loop

Do takich zadań wolę Bascoma - widać dlaczego? , Wiem ma wady, ma ograniczenia, nie lubią go programiści przez duże P. .. ALE - jest bardzo dobrym narzędziem i jak każde narzędzie trzeba umieć go (je) używać. Jak to mówią: "złej baletnicy to i rąbek u spódnicy przeszkadza."

A co do AVRstudio - ściągnąłem sobie niedawno 5tke - no wypisz wymaluj VisualStudio :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Co do AVRStudio to 5tka stala sie straszna kobyla przez to "Visual Studio" ;) Pozegnalem sie jak na dzien dobry nie potrafila obsluzyc STK500v2 (choc widzialem, ze da sie jakos dolozyc wsparcie). Na razie zostałem przy Eclipse i AVRStudio 4 ;) Fajny temacik. To moze jak juz jestesmy dopytam praktykow. Do sciemniania/rozjasniania LED na kilku kanalach myslec o sprzetowym PWM dla kazdego czy wystarczy timer na podstawie ktorego programowo zrobie kanaly pwm ? No i jaka czestotliwosc jest wystarczajaca aby nie widziec migotania ? Czytalem, ze przy freq 50Hz nasze oko już nie widzi migania.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A mnie akurat przypadło do gustu - może dlatego że jestem VisualStudio fanboy :D a do programowania i tak używam Burn-O-Mate niezależnie czy pisze w B+A czy w C... Mój kontakt z Eclipse zakończył się jeszcze szybciej niż zaczął - na niepowodzeniu przy wczytaniu projektów dołączonych jako sample...(a takie rewelacyjne środowisko miało być) no i zostałem przy AVR-Studio....

50Hz - za mało, z praktyki minimum 100-120. Inaczej przy bardzo małym wypełnieniu będzie naprawdę widać migotanie.

Soft_PWM? Jak się wyrobisz z czasem i resztą zadań na obsługę programową z taką częstotliwością to czemu nie...? Szczerze - osobiście nie chciało by mi się kombinować, dziś procki są bardzo tanie, wiec nie ma problemu znaleźć takiego z wystarczającą liczbą sprzętowych PWM, nie rujnując sobie budżetu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Bo z ta wyzszoscia C/A nad B to takie troche mity poparte glownie przez tych co pisza w C a nie znaja B :-)

Ja pisze glownie w B bo w C po prostu .... dluzej sie schodzi a efekt ten sam. Nie mialem jeszcze sytuacji abym nie mogl czegos zrobic w B.

Na koniec i tak mozna include'owac kawalki C

Jedyny mankament jaki dostrzegam to brak Bascoma na Mac OS X przez co musze miec wirtualke gownianego windowsa aby klepac w Bascu :-(

Edytowane przez smithpl

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Glowna wada Bascoma rzekomo jest wielkosc kodu wynikowego. Tak przynajmniej mowia. C ponoc swietnie optymalizuje kod wynikowy i nie odbiega od ASMa ;) Ja tam bawie sie w C i to glownie dlatego, ze pamietam

moja meczarnie z asmem i 8051 na zajeciach w szkole sredniej. W C jest prosciej pisac. Czytelniej. Dla mnie. Bascoma musialbym sie uczyc bo go kompletnie nie znam. Tak samo z asmem, co prawda kiedys temat liznąłem

i pare ksiązek na polce stoi ale to bylo nascie/dziesiat lat temu ;) Z C mam troche wiecej do czynienia :)

Co do Bascoma to zdaje sie jest platny, z drugiej strony to jesli wygenerowany kod sie miesci w krzemie i w dodatku dziala to rowniez nie widze sensu aby przepisywac to do asma czy do C ;) Jak to mowia jest wiele drog dojscia

do tego samego. Jeden bedzie meczyl sie z asmem przy projekcie, drugi w tym czasie klepnie trzy takie projekty w Bascomie. I wszystkie beda robic to co zostalo zamierzone.

Co do Eclipse - to co mi sie spodobalo to dzialanie bez wymogu instalacji, no i swietny edytor. Troche pomaga. Mozna w prosty sposob przeportowac projekty z AVRStudio do Eclipsa i w druga strone, wiec poki co mam obydwa.

5tke tez mam zainstalowana ale nie uruchamialem jej od czasu zainstalowania ;) W sumie to niby wersja beta choc niby finalna.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

VDR to porównaj sobie wklejony kawałek tej samej realizacji w tych 2 językach. Gdzie ta ukryta prostota C? Nie ma i dlatego ktoś napisał interpreter do Bas...

Powielasz tylko te same banały które nie zawsze są prawdziwe.

W Basicu jak i C/Asm możesz pisać i w notatniku....

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie ma sensu dyskutować na temat wyższości narzędzia nad narzędziem, gdzie liczy się efekt finalny. Ja do kopania rowu wole koparkę (B), ktoś przyjdzie z łopatą ©, namacha się i też wykopie ale zbocza będzie miał ładniejsze jak po koparce. Woda i tak popłynie w jednym i drugim przypadku. Oczywiście nas obu przebije koleś który przyjdzie z łyżeczką do herbaty (A), będzie skrobał rok dłużej, ale rów machnie że mucha nie siada bo zdycha z wrażenia. Z drugiej strony spieprzyć i wykopać całkiem źle można i łyżką i koparką i łopatą... To nie jest problem narzędzia tylko użytkownika tegoż.

Faktem jest niezaprzeczalnym że kod wynikowy w C, jest mniejszy niż pisany w B ZWŁASZCZA jeśli jest bardziej skomplikowany. C jest również bardziej elastyczny, choćby ze względu na olbrzymią przewagę w ilości operatorów arytmetycznych jak i logicznych.. i tyle.. choć nie ukrywam że jednak dobrze poznać oba :) I nie jest prawdą że ciężko sie przestawić z basica na C, grunt to zrozumieć procesor (jak działa), dobra książka/kurs i chwila cierpliwości.

BTW w basicu też mogę polecenie Config... rozpisać na 4 linie i będzie wyglądało tak samo "idiotycznie" jak w C. No ale to jest właśnie zaleta basica (koparki) - nie trzeba tyle w klawisze klepać... prosze bardzo przykład, ten sam język, to samo działanie można uzyskać tak:

Reset Tccr1b.wgm13 : Reset Tccr1b.wgm12 : Set Tccr1a.wgm11 : Set Tccr1a.wgm10
Reset Tccr1b.cs12 : Reset Tccr1b.cs11 : Set Tccr1b.cs10
Set Tccr1a.com1a1 : Reset Tccr1a.com1a0 : Set Tccr1a.com1b1 : Reset Tccr1a.com1b0 : Set Tccr1a.com1c1 : Reset Tccr1a.com1c0

albo tak:

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Compare C Pwm = Clear Up, Prescale = 1 

pierwszy sposób czasem może się baaaardzo przydać bo w przypadku np Timera5 Bascom ŹLE wykona config z przykładu 2 (mam 2.0.50 i nadal nie poprawili tego buga), ALE na co dzień, stosuje sie raczej właśnie ten drugi, szybszy sposób.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

smithpl - w mojej wypowiedzi użyłem dwóch słów - "rzekomo" i "ponoć". Nie bez kozery :) Mnie na prawdę nie interesuje w czym kto pisze. Prawdę mówiąc gdybym był klientem to miałbym gdzieś czy soft został napisany w Bascomie, C czy pure asm, albo nawet i w kodzie dwójkowym. Dla mnie liczyłby się czas oddania projektu, poprawne działanie i powiedzmy cena (która może byc odzwierciedleniem ilości czasu spędzonego nad kodem :P). Ja używam C i nie wnikam prawdę mówiąc czy kod ma 200 czy 250 bajtów i czy jest mega optymalny czy nie. Może jak będę kiedyś musiał liczyć się z każdym tyknięciem zegara i tak pisać aby nie marnować cykli będę się tym przejmował, choć w mojej amatorskiej zabawie raczej mi to nie grozi ;)

Co do wklejonego kodu C i Bascomowego. Khmm, znajac troche C w dodatku pod AVR`y widze co ten program robi. I jest to dla mnie czytelne. Tak samo jak pojawiła by się tu procedura gaszenia i zapalania diody w asm. Dla kogoś kto na codzień używa mnemoników, też byłoby to trywialne. Bo jest. Nie znając Bascoma domyślam się tylko co ten program może robić. Kompilator Bascoma ustawia odpowiednie rejestry za mnie i nie muszę używać chociażby przesuwania aby te jedyneczki w odpowiednich bitach rejestru poustawiać. Z drugiej strony to ja pisałem o klepaniu w C zamiast w ASM. Bascoma nie znam kompletnie.

Co do notatnika - owszem mozesz, tak samo jak i strony html w notatniku mozna pisac. Tylko po co sie tak katowac ? Przyznasz jednak, że w dedykowanym środowisku podświetlającym składnie, otwierającym i zamykającym od razu nawiasy czy to klamrowe czy okrągłe (często tu powstają tzw. czeskie błedy), czy nawet podpowiadające kod, wyswietlające np. zmienne użyte w programie, czy nazwy użytych funkcji wraz ze zmiennymi przekazywanymi do i zwracanami - pisze się łatwiej ? Zreszta udogodnien jest znacznie wiecej niż może zaoferować notatnik :)

P.s o widze ze Loccutus dał w między czasie świetne porównanie z rowem ;) Khehe :)

Edytowane przez VDR

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

W "amatorskiej" powiadasz :) No tam to czasem może zajść konieczność co do taktu :D

SQ5VDR de SQ3MKG vy 73!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

×