Сообщение от begun
|
|
Посылать баиты с atmega 8 по очереди я освоил
|
Помимо трёх ног для передачи-приёма байтов SI, SO и SCK, нужно использовать ещё одну CS - выбор микросхемы. Всего четыре ноги. В неактивном режиме CS=1.
Для записи байтов в память, например хотим записать байты
0х01, 0х02 и 0х03 начиная с адреса
0х004580:
1. Опускаем ногу вниз CS = 0;
2. Посылаем команду разрешения записи WREN - байт 0х06
3. Поднимаем ногу CS = 1.
4. Снова опускаем CS = 0.
5. Посылаем команду PROGRAM = 0х02
6. Посылаем адрес 3 байта: 0х00, 0х45, 0х80
7. Посылаем данные: 0х01, 0х02, 0х03
8. Поднимаем CS = 1
9. Ждем 3*100=300 мкс
Итого получаем последовательность:
CS = 0, 0х06, CS = 1, CS = 0, 0х02, 0х00, 0х45, 0х80, 0х01, 0х02, 0х03, CS = 1, delay(300мкс)
Для чтения, например, с адреса
0х01678А нужно прочесть 5 байт:
1. CS = 0.
2. Посылаем команду READ = 0х03
3. Посылаем адрес 3 байта: 0х01, 0х67, 0х8А
4. Читаем 5 байт
5. Поднимаем CS = 1