[bascom] 2 porty SPI

Mar 31, 2005 2 Replies

Hej potrzebuje dla testu sterowac dwoma ADC9824 (sama konfiguracja, kilkanascie rejestrow) z ATMEGA8535. chodzi to po SPI, jeden ladnie dziala, konfiguruje sie... moze ktos ma pomysl jak zmusic bascoma zeby dzialaly rownoczesnei 2 porty SPI w trybie software'owym? pcb juz zrobione, i nie chce ciac sciezek, by sprawdzic opcje 1 SPI hardware'owy, 2 SPI softwareowy - ktora zreszta moze nei dzialac i uzywam hadware'owego SPI do programowania..



kod ktory to robie jest nastepujacy, i wcale mi sie nei podoba..mimo ze kompilator nie zwraca bledu, gdyz pewnei komenda Config Spi definuje jakies zmienne w makrach, tak wiec nei moze zmienaic ustawien pinow w czasie przeczywistym. Czy mam sobie napisac to na piechotke? Oto kod.. w rezutacie dziala tylko 2 czesc..



Config Spi = Soft , Din = Pind.1 , Dout = Portd.3 , Ss = Portd.2 , Clock = Portd.4 Spiinit Spiout A(1) , 4 'write 4 bytes a(1), a(2) , a(3) and a(4) Waitms 1



Config Spi = Soft , Din = Pind.1 , Dout = Portd.6 , Ss = Portd.5 , Clock = Portd.7 Spiinit Spiout A(1) , 4 Waitms 1



docelowo bedzie to siedzialo w FPGA wiszacym na VME, teraz trzeba mi na szybko sprawdzic konepcje...wiec prosze bez tekstow w stylu , zebym sie na C przesiadl..lub w asemblerze pisal.. Pozdr Greg


Nie kumam po co zrobiles 2 osobne interfejsy SPI, wszystko podlancza sie rownolegle. Osobne sa tylko sygnaly dla CS wszystkich ukladow dolaczonych do SPI. To podobny interface jak I2C tylko tx i rx sa na osobnych liniach i fullduplex.

no tyle to ja wiem.. tylko plytke mam zaprojektowana tak a nei inaczej..do kazdego scalaka leca oddzielne linie a sterowanei CS chipu i tak jest zapewnione przez biblioteke..wiec niby jak mam nimi przelaczac? skoro funkcja sterujaca tymi liniami i tak mi przestawi to CS...

nei bylo pytania.. zrobie po swojemu, w sumie spi jest banalne.. kilka petli.. i bedzei mi ladowac dane do obu ADC rownoczesnie, bedzei i szybciej, i krocej..

Pozdr Grzeg

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required