Перейти к содержанию
    

не могу прочитать 93c56 из ATMega168

все привет!

 

Вот что-то не получается прочитать из 93c56. меня "напрягает" формат работы с ней. Вроде как SPI, но команды не кратные 8ми битам. Как она относится к тому, что я с ней общаюсь посылками по 8 бит?

К примеру чтение там 1 10 A8-A0 и это, как видно, 12 бит. я же шлю туда фактически 0000 110A8 A7-A0. Это нормально? Может в этом дело? Ну я пробовал слать так: 110A8 A7-A0 0000, всё равно ничего...

Ах да, какой всё таки "полярности" CS? +5V - рабочее положение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделайте программный SPI с любым количеством бит. Не вижу проблеммы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CS единицей.

В том проекте, что в другой теме я Вам подсказал, как раз программный SPI сделан.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интерфейс SPI - это по сути сдвиговый регистр с защелкой по CS, т.е. ему можно передать нужную последовательность в большем числе бит, т.е. 12 бит можно передать в 16-битной посылке, при этом в ведомом защелкнется нужное количество бит с конца посылки. Тут главное не напутать с порядком байт в слове и порядком бит в байте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CS единицей.

В том проекте, что в другой теме я Вам подсказал, как раз программный SPI сделан.

Пардон. В какой теме? Каком проекте? :)

Интерфейс SPI - это по сути сдвиговый регистр с защелкой по CS, т.е. ему можно передать нужную последовательность в большем числе бит, т.е. 12 бит можно передать в 16-битной посылке, при этом в ведомом защелкнется нужное количество бит с конца посылки. Тут главное не напутать с порядком байт в слове и порядком бит в байте.

т.е. если передавать в виде CS 0000 1100 0000 0000 CS, то всё в теории будет нормально?

 

ЗЫ. А не у кого нет на примете простецкого программатора 93cХ6 на меге? Мне надо, то на 1 раз :(

LPT не предлагать, нет у меня его, есть Дракон :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пардон. В какой теме? Каком проекте

Прошу прощения, обознался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что программно-то мешает всё сделать? Ножку поднять, ножку опустить, подождать... да подооооольше подождать, с запасиком на всякий, чтоб не задумываться лишне одного раза для.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

т.е. если передавать в виде CS 0000 1100 0000 0000 CS, то всё в теории будет нормально?

CS 0000 1100 0000 0000 CS - выделенная часть останется в ведомом, а ведущие нули (или единицы) просто будут вытолкнуты на линию MISO и это надо учитывать, если Вам надо что-то читать с ведомого.

 

Программатор для 93сХ6 (да и для других ЕЕПРОМ и МК, включая АВР) - PonyProg.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в общем Спасибо за советы. Всё получилось.

Программаторы пять надо :) Обошёшлся стареньким проектом на 8ой меге.

Если писать в 93cX6: CS 0000 110A AAAA AAA0 0000 0000 0000 000x CS, где выделенная часть команда на чтение, а АААААААА - адрес слова, то на встречу нолям уже выходит полезные данные.

СПАСИБО :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...