Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

pic16f73 - и работа SSP?

Отправлено 2-pac 12 ноября 2007 г. 10:00


Введение: Есть FIFO на 16 бит в которую по средствам SSP(pic) записывается и считывается информация. Запись по средствам pic осуществляется в два цикла отправка 1 байта отправка 2 байта (тк регистр SSPBUF 8битный). Порядок считывания приходящей информации соответственно такой. 1 байт отправили и значение SSPBUF присвоели переменной.
Проблема: Удаётся принять в SSPBUF только один байт из FIFO второй байт равен той информации которую я записываю в SSPBUF и пересылаю.
Описание: Например пусть в FIFO записано 0x11,0xEE.
Порядок считывания-->

{
while(!SSPIF);
SSPIF=0;
SSPBUF=0x00; //посылаем 0x00 для формирования CLK
while(!SSPIF); //Ожидаем флага полной отправки
data=SSPBUF; //Присваиваем переменной значения пришедших данных
Замечание: после первой отправки data будет равна 0x11.
повторная операция вместо того чтобы вернуть на 0xEE вернёт 0x00. Что соответствует записываемым данным в SSPBUF. Если соответствеенно записать в SSPBUF =0x22 то во время считывания второго байта он вернёт нам 0x22.
Код как он выглядит сейчас: ->

{
SSPBUF=0x00; //0x00
while(!SSPIF);
data[0]=SSPBUF; // данные из FIFO 0x11
SSPIF=0;
SSPBUF=0x00; // (1)
while(!SSPIF);
data[1]=SSPBUF; //Вот такое чувство что прислоенно значение (1)
}
Однако я допускаю что Возможно все это происходит в FIFO. Тоесть первый отправленный байт по SSP двигает первый байт записанный в FIFO, а второй байт сдвигает уже те данные которые только что туда задвинулись. тоесть первый пересланный SSPBUF.
И если вы считаете последнее утверждение верным - тогда как обеспечить формирование 16xCLK и считывание информации...
Заранее благодарен....



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сколько миллиампер в одном ампере ?:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru