Pessoal, estou utilizando um atmega1284p e consegui conectar uma placa de rede enc28j60 e um cartão sd, mas individualmente.

Alguem sabe dizer se consigo conectar os 2 ao mesmo tempo no ISP? Sabendo que o atmega1284 tem 3 SS.

Muito obrigado

Sérgio

Exibições: 312

Responder esta

Respostas a este tópico

Olá,

Sim é possível que o microcontrolador se comunique com vários dispositivos usando o barramento SPI, mas não exatamente ao mesmo tempo, a comunicação ocorre com um escravo de cada vez, sendo o que a seleção é feita através da ativação da linha SS do escravo com quem o mestre vai trocar dados.

Intendi, li que para ativar e desativar preciso deixar a porta em baixo...ai escrevo e em alto desligo certo?

Estou usando um exemplo do arduino mesmo. o readwrith da library sd.

Então se conecto fisicamente o cartão e a placa de rede dá erro, mas se retiro a placa de rede ele funciona.

Então coloquei a placa de rede na porta 4 e deixei em nivel alto e mesmo assim não vai.

será que estou entendo certo?

Obrigado

------------------------------------------------------

/*
SD card read/write

This example shows how to read and write data to and from an SD card file
The circuit:
* SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4

created Nov 2010
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe

This example code is in the public domain.

*/

#include <SD.h>

File myFile;

void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);

Serial.print("Initializing SD card...");
// On the Ethernet Shield, CS is pin 4. It's set as an output by default.
// Note that even if it's not used as the CS pin, the hardware SS pin
// (10 on most Arduino boards, 53 on the Mega) must be left as an output
// or the SD library functions will not work.
pinMode(10, OUTPUT);

if (!SD.begin(1)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");

// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("test.txt", FILE_WRITE);

// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}

// re-open the file for reading:
myFile = SD.open("test.txt");
if (myFile) {
Serial.println("test.txt:");

// read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}
// close the file:
myFile.close();
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}

void loop()
{
// nothing happens after setup
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço