Spider 0 22 августа, 2011 Опубликовано 22 августа, 2011 · Жалоба все привет! Вот что-то не получается прочитать из 93c56. меня "напрягает" формат работы с ней. Вроде как SPI, но команды не кратные 8ми битам. Как она относится к тому, что я с ней общаюсь посылками по 8 бит? К примеру чтение там 1 10 A8-A0 и это, как видно, 12 бит. я же шлю туда фактически 0000 110A8 A7-A0. Это нормально? Может в этом дело? Ну я пробовал слать так: 110A8 A7-A0 0000, всё равно ничего... Ах да, какой всё таки "полярности" CS? +5V - рабочее положение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexeyv 0 22 августа, 2011 Опубликовано 22 августа, 2011 · Жалоба Сделайте программный SPI с любым количеством бит. Не вижу проблеммы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 22 августа, 2011 Опубликовано 22 августа, 2011 · Жалоба CS единицей. В том проекте, что в другой теме я Вам подсказал, как раз программный SPI сделан. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GDI 0 22 августа, 2011 Опубликовано 22 августа, 2011 · Жалоба Интерфейс SPI - это по сути сдвиговый регистр с защелкой по CS, т.е. ему можно передать нужную последовательность в большем числе бит, т.е. 12 бит можно передать в 16-битной посылке, при этом в ведомом защелкнется нужное количество бит с конца посылки. Тут главное не напутать с порядком байт в слове и порядком бит в байте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spider 0 22 августа, 2011 Опубликовано 22 августа, 2011 · Жалоба CS единицей. В том проекте, что в другой теме я Вам подсказал, как раз программный SPI сделан. Пардон. В какой теме? Каком проекте? :) Интерфейс SPI - это по сути сдвиговый регистр с защелкой по CS, т.е. ему можно передать нужную последовательность в большем числе бит, т.е. 12 бит можно передать в 16-битной посылке, при этом в ведомом защелкнется нужное количество бит с конца посылки. Тут главное не напутать с порядком байт в слове и порядком бит в байте. т.е. если передавать в виде CS 0000 1100 0000 0000 CS, то всё в теории будет нормально? ЗЫ. А не у кого нет на примете простецкого программатора 93cХ6 на меге? Мне надо, то на 1 раз :( LPT не предлагать, нет у меня его, есть Дракон :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 22 августа, 2011 Опубликовано 22 августа, 2011 · Жалоба Пардон. В какой теме? Каком проекте Прошу прощения, обознался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_noise 0 22 августа, 2011 Опубликовано 22 августа, 2011 · Жалоба Что программно-то мешает всё сделать? Ножку поднять, ножку опустить, подождать... да подооооольше подождать, с запасиком на всякий, чтоб не задумываться лишне одного раза для. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GDI 0 23 августа, 2011 Опубликовано 23 августа, 2011 · Жалоба т.е. если передавать в виде CS 0000 1100 0000 0000 CS, то всё в теории будет нормально? CS 0000 1100 0000 0000 CS - выделенная часть останется в ведомом, а ведущие нули (или единицы) просто будут вытолкнуты на линию MISO и это надо учитывать, если Вам надо что-то читать с ведомого. Программатор для 93сХ6 (да и для других ЕЕПРОМ и МК, включая АВР) - PonyProg. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spider 0 23 августа, 2011 Опубликовано 23 августа, 2011 · Жалоба в общем Спасибо за советы. Всё получилось. Программаторы пять надо :) Обошёшлся стареньким проектом на 8ой меге. Если писать в 93cX6: CS 0000 110A AAAA AAA0 0000 0000 0000 000x CS, где выделенная часть команда на чтение, а АААААААА - адрес слова, то на встречу нолям уже выходит полезные данные. СПАСИБО :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться