да, кстати. в функции putint потенциальная ошибка (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено bialix 11 февраля 2004 г. 13:12
В ответ на: Попытка №2. Дааа, сейчас пойду почитаю перевод по функциям- как обращаться к битам.... отправлено Amal 11 февраля 2004 г. 12:19

Насколько я понимаю (хотя режимов SPI предостаточно - и полярность CLK и фаза выборки) когда SCK в 0 вы выставляете данные, а когда он в 1, вы их считываете. Т.е. по фронту 0-1. Однако при выходе из цикла SCK не возвращается в 0. Это потенциальная ошибка. Если вы используете сигнал выборки SS, то он должен сниматься когда SCK = 0, иначе некоторые SPI-устройства могут это очень некорректно воспринять. Конкретно с АД7714 дела не имел, но лучше проверьте еще раз по даташиту.

Я бы вам порекомендовал все время держать неактивный уровень на SCK в 0, а в цикле выдачи байта делать так: выставили новый бит - пауза - перевели SCK в 1 - пауза - сняли SCK - пауза - переход к новому биту.
Так корректнее. Возможно это и есть причина вашей неудачи при отладке в симуляторе (нет последнего SCK).

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru