Do you have a question? Post it now! No Registration Necessary
Subject
- Posted on
SPI интерфес
- 10-08-2003
- Ivan Melnikov
October 8, 2003, 4:17 pm

Привет All!
Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается, а вот прием с
приемом никак. Кто-нибудь сабж использовал? Hадо кодек проинициализировать с с
помощью сабжа. Интересует порядок инициализации сабжа и т.д.
С уважением, Ivan Melnikov Среда Октябрь 08 2003 21:17.
... "Хозяйство вести - не ... флагом трясти."
Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается, а вот прием с
приемом никак. Кто-нибудь сабж использовал? Hадо кодек проинициализировать с с
помощью сабжа. Интересует порядок инициализации сабжа и т.д.
С уважением, Ivan Melnikov Среда Октябрь 08 2003 21:17.
... "Хозяйство вести - не ... флагом трясти."

SPI интерфес
Hi Ivan!
Wednesday October 08 2003, Ivan Melnikov wrote to All:
IM> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается, а вот
IM> прием с приемом никак. Кто-нибудь сабж использовал? Hадо кодек
знакомые грабли :)
когда я столкнулся с подобой проблемой в at90s8515, выяснил что SCLK дергается
только при передаче. поэтому нужно сначала делать запись в регистр данных
любого байта, а только потом читать из него.
IM> С уважением, Ivan Melnikov Среда Октябрь 08 2003 21:17.
Всего доброго.

SPI интерфес
Привет Andrey!
Четверг Октябрь 09 2003 15:24, Andrey Tischenko -> Ivan Melnikov:
IM>> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается,
IM>> а вот прием с приемом никак. Кто-нибудь сабж использовал? Hадо
IM>> кодек
AT> знакомые грабли :)
Для меня нет. :(
AT> когда я столкнулся с подобой проблемой в at90s8515, выяснил что SCLK
AT> дергается только при передаче. поэтому нужно сначала делать запись в
AT> регистр данных любого байта, а только потом читать из него.
AT>
Интересно... Попробую...
С уважением, Ivan Melnikov Суббота Октябрь 11 2003 14:23.
... "Пусть ХАЛЯВА будет вечной"
Четверг Октябрь 09 2003 15:24, Andrey Tischenko -> Ivan Melnikov:
IM>> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается,
IM>> а вот прием с приемом никак. Кто-нибудь сабж использовал? Hадо
IM>> кодек
AT> знакомые грабли :)
Для меня нет. :(
AT> когда я столкнулся с подобой проблемой в at90s8515, выяснил что SCLK
AT> дергается только при передаче. поэтому нужно сначала делать запись в
AT> регистр данных любого байта, а только потом читать из него.
AT>
Интересно... Попробую...
С уважением, Ivan Melnikov Суббота Октябрь 11 2003 14:23.
... "Пусть ХАЛЯВА будет вечной"

SPI интерфес
Добрый день, Ivan!
IM> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается, а вот
IM> прием с приемом никак. Кто-нибудь сабж использовал? Hадо кодек
IM> проинициализировать с с помощью сабжа. Интересует порядок инициализации
IM> сабжа и т.д.
Я использовал SPI в AT89S8252 в режиме Slave для связи с PC. Сначала тоже
были
проблемы с приёмом, контроллер возвращал обратно переданное к нему значение
пока не написал вот так:
mov a,spsr ;запрос
состояния SPI
mov SPDR,@r0 ;данные на передачу
anl a,#080h ;проверка
приема
jz m003 ;если
принят байт
mov a,SPDR ;то в
аккумулятор...
Это кусок не в обработчике прерывания от SPI, а в основном цикле, поэтому
получается,
что данные в каждом цикле программы записываются в SPDR независимо от того
принят
байт или нет.Как то некрасиво получилось, но заработало. А также я не
поверял бит
WCOL(Write Collision Flag) при записи в SPDR, а возможно надо было.
С уважением.
Шуньгин Александр
г. Новодвинск
Архангельской губернии
IM> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается, а вот
IM> прием с приемом никак. Кто-нибудь сабж использовал? Hадо кодек
IM> проинициализировать с с помощью сабжа. Интересует порядок инициализации
IM> сабжа и т.д.
Я использовал SPI в AT89S8252 в режиме Slave для связи с PC. Сначала тоже
были
проблемы с приёмом, контроллер возвращал обратно переданное к нему значение
пока не написал вот так:
mov a,spsr ;запрос
состояния SPI
mov SPDR,@r0 ;данные на передачу
anl a,#080h ;проверка
приема
jz m003 ;если
принят байт
mov a,SPDR ;то в
аккумулятор...
Это кусок не в обработчике прерывания от SPI, а в основном цикле, поэтому
получается,
что данные в каждом цикле программы записываются в SPDR независимо от того
принят
байт или нет.Как то некрасиво получилось, но заработало. А также я не
поверял бит
WCOL(Write Collision Flag) при записи в SPDR, а возможно надо было.
С уважением.
Шуньгин Александр
г. Новодвинск
Архангельской губернии

Re: SPI интерфес
Привет Alex!
Воскресенье Октябрь 12 2003 16:40, Alex Shungin -> Ivan Melnikov:
IM>> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается,
IM>> а вот прием с приемом никак. Кто-нибудь сабж использовал? Hадо
IM>> кодек проинициализировать с с помощью сабжа. Интересует порядок
IM>> инициализации сабжа и т.д.
AS>
AS> Я использовал SPI в AT89S8252 в режиме Slave для связи с PC. Сначала
А в этом режиме атмел выдавал частоту или PC ?
AS> тоже были проблемы с приёмом, контроллер возвращал обратно переданное
AS> к нему значение пока не написал вот так:
[... пропущено ...]
AS> Это кусок не в обработчике прерывания от SPI, а в основном цикле,
Я тоже обрабатываю не в обработчике прерывания
AS> поэтому получается, что данные в каждом цикле программы записываются
AS> в SPDR независимо от того принят байт или нет.
AS> Как то некрасиво получилось, но заработало.
Почему ? Главное работает...
AS> А также я не поверял бит WCOL(Write Collision Flag) при записи в
Я его тоже не проверяю.
AS> SPDR, а возможно надо было.
AS>
Зачем ?
Ты какой установки в SPCR прописал ?
Ты пробовал их менять ?
Влияют на работу или не принципиально ?
С уважением, Ivan Melnikov Вторник Октябрь 14 2003 22:05.
... "Прежде чем говорить что думаешь, думай,что говоришь."
Воскресенье Октябрь 12 2003 16:40, Alex Shungin -> Ivan Melnikov:
IM>> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается,
IM>> а вот прием с приемом никак. Кто-нибудь сабж использовал? Hадо
IM>> кодек проинициализировать с с помощью сабжа. Интересует порядок
IM>> инициализации сабжа и т.д.
AS>
AS> Я использовал SPI в AT89S8252 в режиме Slave для связи с PC. Сначала
А в этом режиме атмел выдавал частоту или PC ?
AS> тоже были проблемы с приёмом, контроллер возвращал обратно переданное
AS> к нему значение пока не написал вот так:
[... пропущено ...]
AS> Это кусок не в обработчике прерывания от SPI, а в основном цикле,
Я тоже обрабатываю не в обработчике прерывания
AS> поэтому получается, что данные в каждом цикле программы записываются
AS> в SPDR независимо от того принят байт или нет.
AS> Как то некрасиво получилось, но заработало.
Почему ? Главное работает...
AS> А также я не поверял бит WCOL(Write Collision Flag) при записи в
Я его тоже не проверяю.
AS> SPDR, а возможно надо было.
AS>
Зачем ?
Ты какой установки в SPCR прописал ?
Ты пробовал их менять ?
Влияют на работу или не принципиально ?
С уважением, Ivan Melnikov Вторник Октябрь 14 2003 22:05.
... "Прежде чем говорить что думаешь, думай,что говоришь."

Re: SPI интерфес
Добрый день, Ivan!
14 oct 03 17:43 Ivan Melnikov wrote to Alex Shungin
IM>>> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается,
IM>>> а вот прием с приемом никак. Кто-нибудь сабж использовал? Hадо
IM>>> кодек проинициализировать с с помощью сабжа. Интересует порядок
IM>>> инициализации сабжа и т.д.
AS>> Я использовал SPI в AT89S8252 в режиме Slave для связи с PC.
IM> А в этом режиме атмел выдавал частоту или PC ?
Контроллер как Slave поэтому РС выдавал синхронизацию.
AS>> тоже были проблемы с приёмом, контроллер возвращал обратно
AS>> переданное к нему значение пока не написал вот так:
[... пропущено ...]
AS>> Это кусок не в обработчике прерывания от SPI, а в основном цикле,
IM> Я тоже обрабатываю не в обработчике прерывания
Если делать в прерывании, такая запись не сработает - не факт, что данные
запишутся в SPDR сразу. Думаю именно для того чтобы убедится в записи данных
для передачи и нужен бит WCOL(Write Collision Flag).
AS>> поэтому получается, что данные в каждом цикле программы
AS>> записываются в SPDR независимо от того принят байт или нет.
AS>> Как то некрасиво получилось, но заработало.
IM> Почему ? Главное работает...
Плохо когда не понимаешь, что конкретно происходит. В какой момент
происходит запись в регистр не понятно.
AS>> А также я не поверял бит WCOL(Write Collision Flag) при записи в
IM> Я его тоже не проверяю.
AS>> SPDR, а возможно надо было.
IM> Зачем ?
Чтобы убедится прошла запись в SPDR или нет.
IM> Ты какой установки в SPCR прописал ?
mov SPCR,#040h
IM> Ты пробовал их менять ?
IM> Влияют на работу или не принципиально ?
Пока нет времени разбираться, с рабочего проекта рассказываю, он работает.
С уважением.
Шуньгин Александр
г. Новодвинск
Архангельской губернии
14 oct 03 17:43 Ivan Melnikov wrote to Alex Shungin
IM>>> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается,
IM>>> а вот прием с приемом никак. Кто-нибудь сабж использовал? Hадо
IM>>> кодек проинициализировать с с помощью сабжа. Интересует порядок
IM>>> инициализации сабжа и т.д.
AS>> Я использовал SPI в AT89S8252 в режиме Slave для связи с PC.
IM> А в этом режиме атмел выдавал частоту или PC ?
Контроллер как Slave поэтому РС выдавал синхронизацию.
AS>> тоже были проблемы с приёмом, контроллер возвращал обратно
AS>> переданное к нему значение пока не написал вот так:
[... пропущено ...]
AS>> Это кусок не в обработчике прерывания от SPI, а в основном цикле,
IM> Я тоже обрабатываю не в обработчике прерывания
Если делать в прерывании, такая запись не сработает - не факт, что данные
запишутся в SPDR сразу. Думаю именно для того чтобы убедится в записи данных
для передачи и нужен бит WCOL(Write Collision Flag).
AS>> поэтому получается, что данные в каждом цикле программы
AS>> записываются в SPDR независимо от того принят байт или нет.
AS>> Как то некрасиво получилось, но заработало.
IM> Почему ? Главное работает...
Плохо когда не понимаешь, что конкретно происходит. В какой момент
происходит запись в регистр не понятно.
AS>> А также я не поверял бит WCOL(Write Collision Flag) при записи в
IM> Я его тоже не проверяю.
AS>> SPDR, а возможно надо было.
IM> Зачем ?
Чтобы убедится прошла запись в SPDR или нет.
IM> Ты какой установки в SPCR прописал ?
mov SPCR,#040h
IM> Ты пробовал их менять ?
IM> Влияют на работу или не принципиально ?
Пока нет времени разбираться, с рабочего проекта рассказываю, он работает.
С уважением.
Шуньгин Александр
г. Новодвинск
Архангельской губернии
Site Timeline
- » Cygnal C8051F124/126
- — Next thread in » Microcontrollers (Russian)
-
- » Плата аналогового ввода.
- — Previous thread in » Microcontrollers (Russian)
-
- » По моему это гениально
- — Newest thread in » Microcontrollers (Russian)
-
- » (PDF) Hair and Scalp Diseases by Amy J. McMichael
- — The site's Newest Thread. Posted in » Embedded Programming
-