Tak, może i ja na stare lata coś napiszę w tym Bascomie!
Z tego co poczytałem na forach instrukcje do obsługi I2C są zrobione programowo. Czy istnieją instrukcje obsługujące sprzętowe TWI np w ATmega8 ? W mojej wersji Bascom-Demo nic nie znalazłem, w helpie również.
cytata z mojego helpa 1-11-9-5
I2C_TWI
By default BASCOM will use software routines when you use I2C statements. This because when the first AVR chips were introduced, there was no TWI yet. Atmel named it TWI because Philips is the inventor of I2C. But TWI is the same as I2C.
So BASCOM allows you to use I2C on every AVR chip. Most newer AVR chips have build in hardware support for I2C. With the I2C_TWI lib you can use the TWI which has advantages as it require less code.
To force BASCOM to use the TWI, you need to insert the following statement into your code:
$LIB "I2C_TWI.LBX"
You also need to choose the correct SCL and SDA pins with the CONFIG SCL and CONFIG SDA statements.
The TWI will save code but the disadvantage is that you can only use the fixed SCL and SDA pins.
----- EDIT -------
http://www.mcselec.com/index.php?option=...&Itemid=54 pobierz
helpa oraz
manual i szukaj "I2C_TWI"
===== EDIT 2 =========
pobierz też
http://www.mcselec.com/index.php?option=...&Itemid=54 Polish Help File for BASCOM-AVR
:-)
Biblioteka I2C_TWI.LIB to biblioteka kompilatora zawierająca kod dla podstawowych instrukcji skojarzonych z obsługą magistrali I2C, wprowadzająca możliwość używania w tym celu zasobów sprzętowych niektórych mikrokontrolerów z rodziny AVR.
Domyślnie BASCOM używa procedur programowych gdy w programie znajdują się instrukcje dotyczące magistrali I2C. Było to spowodowane faktem, iż pierwsze konstrukcje procesorów nie posiadały jeszcze zaimplementowanego sprzętowego modułu TWI. Swoją drogą pozwalało to na wykorzystanie I2C we wszystkich procesorach z rodziny AVR.
Jak już wspomniano niektóre z procesorów AVR posiadają sprzętowy układ nadajnika i odbiornika I2C. Firma Atmel nazwała to rozwiązanie TWI – Two Wire Interface, gdyż jest ono nie tylko zgodne z dyrektywami firmy Philips (pomysłodawca I2C) ale wprowadza także pewne daleko idące ulepszenia.
By nakazać kompilatorowi używanie magistrali TWI, należy umieścić w programie następująca dyrektywę:
$lib "I2C_TWI.LBX"
oraz za pomocą instrukcji CONFIG SCL oraz CONFIG SDA wybrać właściwe (zgodne ze specyfikacją danego układu!) numery końcówek pełniących rolę magistrali.
Należy także za pomocą instrukcji CONFIG TWI określić częstotliwość pracy tego układu tak by zegar na linii SCL odpowiadał przyjętym standardom lub wymogom podłączonych układów.
Stosowanie TWI co prawda zmniejsza kod wynikowy lecz nie pozwala na dowolne wybranie końcówek pełniących rolę SCL oraz SDA. Wmusza także stosowanie najnowszych układów z rodziny AVR, co nie zawsze jest potrzebne lub opłacalne.
© Zbigniew Gibek, 2002-2005 © MCS Electronics, 1999-2005
Jarek dziękuję za szybką i obszerną odpowiedź. Moją wiedzę opierałem niestety na starszej wersji helpa dlatego nic tam nie było. Okazuje się że nie trzeba nawet zmieniać nazw instrukcji w programie, po podłączeniu LIB-a z I2C_TWI kompilator przechodzi na obsługę sprzętową. Troszkę stron do przeczytania jest ale podstawy dość szybko można opanować.
:-) na podanym przez ciebie linku jest napisane....
Po zakupie Bascom AVR należy zarejestrować na stronie producenta: http://www.mcselec.com/register.htm. Upoważnia to do bezpłatnej aktualizacji.
Witam - dzieki Jarku - nie doczytałem - a jeszcze jedna sprawa czy w tej wersji - jest obsługiwana Atmega 644p - bo w sklepie AVT pisze że ta wersja obsługuje:
Projekty przygotowane za pomocą Bascoma AVR można kompilować na dowolny mikrokontroler z listy:
•ATtiny12/12L/12V
•ATtiny15L
•ATtiny22L
•ATtiny26/26L
•AT90S1200
•AT90S2313
•AT90S2323
•AT90LS2323
•AT90S2333
•AT90LS2333
•AT90S2343
•AT90LS2343
•AT90S4414
•AT90S4433
•AT90LS4433
•AT90LS4434
•AT90S4434
•AT90S8515
•AT90S8535
•AT90LS8535
•ATmega103/103L
•ATmega603/603L
•ATmega128/128
•ATmega16/16L
•ATmega161/161L
•ATmega162/162L/162V
•Atmega163/163L
•ATmega32/32L
•Atmega323/323L
•ATmega64/64L
•ATmega8/8L
•ATmega8515/8515L
•ATmega8535/8535L
•AT86RF401.
http://sklep.avt.pl/p/pl/1173/kompilator...na+pl.html
- pozdawiam 73 Jacek.
podobno to jest wersja z limitem wielkości kompilacji a nie "jakości" - polecam napisz do producenta - odpowiada na emaile :-)
ja mam pełna wersje......
Ok - dzięki za wypowiedź - jutro przedzwonię do obu sklepów - 73 Jacek.