spi atmega, zagwozdka

Feb 11, 2015 3 Replies

Witam Szukam na necie i jakos nei widze, ma taki problem Wyswietlacz z klawiszami, PT6958 i VLD na jednej plytce. Niestety PT6958 ma zwarte linie mosi i miso, a potrzebuje odczytac z niego stan klawiszy.



Atmega32, sprzetowe spi, jak to ugrysc? Przy atmedze tez zewrzec misi i mosi? Przelaczac miso=>mosi w ustawieniach pinow?



Deklaracja spi: void init_SPI( int ss ) //bylo void { DDRB |= (1 << DD_MOSI) | (1 << DD_SCK) | (1 << ss); //bylo DD_SS_88



SPCR |= (1 << SPE) | (1 << MSTR) | (1 << SPR1) | (1 << DORD); };



Macie jakies pomysly jak to mozna rozwiazac?


W dniu 2015-02-11 o 08:22, wchpikus pisze:

Zewrzyj MISO z MOSI w AVR i przełączaj rejestrem DDR linię MOSI na wejście jak będziesz odbierał dane. Możesz też na początek dać rezystor w szereg z MOSI, żebyś czegoś z dymem nie puścił:

+-----+ MOSI +-------+ +--------+-------------+ Reszta układów +-----+ | | | MISO +----------------------+

Witam A to nie jest tak, ze w trybie master mozna wybierac czy miso jest wejsiem czy wyjsciem?

W dniu 2015-02-12 o 08:34, wchpikus pisze:

Czytanie dokumentacji sprawia ci ból?

Sprawdź tabelkę 55:

formatting link
When the SPI is enabled, the data direction of the MOSI, MISO, SCK, and SS pins is overridden according to Table 55.

Table 55. SPI Pin Overrides Pin Direction, Master SPI MOSI User Defined MISO Input SCK User Defined SS User Defined

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required