Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Помогите разобраться с SPI AVR

Непрочитано 31.08.2010, 15:24  
alchem
Частый гость
 
Регистрация: 23.07.2008
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alchem на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Сообщение от kison Посмотреть сообщение
Тогда при перепаде на SS 1-›0 SPI сам переключится в слейв и произойдет прерывание.
Сообщение от datasheet
If SS is configured as an input, it must be held high to ensure Master SPI operation. If
the SS pin is driven low by peripheral circuitry when the SPI is configured as a Master
with the SS pin defined as an input, the SPI system interprets this as another Master
selecting the SPI as a Slave and starting to send data to it. To avoid bus contention, the
SPI system takes the following actions:
1. The MSTR bit in SPCR is cleared and the SPI system becomes a Slave. As a
result of the SPI becoming a Slave, the MOSI and SCK pins become inputs.
2. The SPIF Flag in SPSR is set, and if the SPI interrupt is enabled, and the I-bit in SREG is set, the interrupt routine will be executed.
Соответственно можно первое прерывание после выставления флага MSTR игнорировать и его после каждой посылки надо взводить опять. Только не очень-то это удобно, разве что если ног не хватает.
Реклама:
alchem вне форума  
Непрочитано 31.08.2010, 15:43  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Сообщение от alchem Посмотреть сообщение
Соответственно можно первое прерывание после выставления флага MSTR игнорировать и его после каждой посылки надо взводить опять. Только не очень-то это удобно, разве что если ног не хватает.
Честно говоря не понял. MSTR это не флаг, а бит конфигурации SPI.
Допустим мы в условном мастере, бит MSTR установлен. Реальный мастер опускает SS, мы имеем прерывание и 0 в MSTR. Дальше прерывание по приему - все то же самое. Вот если бы по SS прерывание генерировалось при любом перепаде, то можно было бы флажок какой завести и игнорировать первое прерывание после конца предыдущей передачи. Но даташит такого не обещает
kison вне форума  
Непрочитано 31.08.2010, 23:10  
alchem
Частый гость
 
Регистрация: 23.07.2008
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alchem на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Сообщение от kison Посмотреть сообщение
MSTR это не флаг, а бит конфигурации SPI
Вы думаете, я этого не знаю? Немного коряво написал, первое прерывание SPI после установки бита MSTR. Просто игнорировать первый байт, следующие будут уже с данными. После получения полной посылки (в случае с фиксированной длинной) надо бит опять взвести. На мой взгляд, в данном случае его можно рассматривать именно как флаг переключения в режим slave, меняется-то он от внешнего сигнала. В принципе, можно с некоторой периодичностью по таймеру отслеживать пин /SS, когда будет единица, тогда и выставить MSTR в единицу. Ясен пень, что период опроса должен быть меньше паузы между посылками и лучше всего таймер сбрасывать по приходу байта.
Приходилось мне делать синхронизацию, когда не было slave select-вот это было что-то!
Но весь этот цирк с конями, опять же, нужен только в одном случае-если не хватает ног.

Боюсь, тредстартер воспримет гипотетический вариант как руководство к действию.

Последний раз редактировалось alchem; 31.08.2010 в 23:20.
alchem вне форума  
Непрочитано 31.08.2010, 23:44  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Сообщение от alchem Посмотреть сообщение
После получения полной посылки (в случае с фиксированной длинной) надо бит опять взвести.
А он может и не взвестись пока SS в высокий уровень не перейдет. Проверять надо.

Сообщение от alchem Посмотреть сообщение
Боюсь, тредстартер воспримет гипотетический вариант как руководство к действию.
И пусть Вот кто проверит.Тем более про прерывание от SS он сам захотел.
kison вне форума  
Непрочитано 31.08.2010, 23:51  
alchem
Частый гость
 
Регистрация: 23.07.2008
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alchem на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Сообщение от kison Посмотреть сообщение
А он может и не взвестись
Вполне может быть, написано что
Цитата:
if
the SS pin is driven low
, а не по спаду, т.е. опять сбросится и получим прерывание. В таком случае, единственный выход-ставить таймер с опросом пина SS.
Сообщение от kison Посмотреть сообщение
Тем более про прерывание от SS он сам захотел.
alchem вне форума  
Непрочитано 02.09.2010, 15:55  
homo_sapiens
Временная регистрация
 
Аватар для homo_sapiens
 
Регистрация: 20.05.2010
Адрес: Н.Новгород
Сообщений: 70
Сказал спасибо: 28
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
homo_sapiens на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Доброго здравия всем!!! Кто может помогите новечьку в пик контролерах
В целях освоения пиков собрал термометр и что бы совместить полезное с приятным решыл по ходу превратить их в термометр для автомобиля. и написать строки "за бортом" и "В салоне". Для начала я попробовал написать свои буквы получилось и подставил на фото нижняя строчка. Потом я подкоректировал саму строчку, в исходнике, не там пробел стоял, выравнял все получилось. Далее я переставил строки местами тоже все вышло. Следующий этап. Я применил жки wh1602b в нем имеется кирилица я попробовал взять буквы из его библиотеки тут небольшая осечка, буквы высветились но не те которые я хотел увидать но то что они там есть меня порадовало. Верхняя строка . И теперь самое то что у меня никак не получается. Помогите плиз применительно к данному тексту где я туплю, у меня не получается написать строки нужной мне длинны и с нужными мне буквами. Всем огромное спасибо.
Миниатюры:
Нажмите на изображение для увеличения
Название: PIC_0066.jpg
Просмотров: 46
Размер:	1,002.1 Кб
ID:	11775   Нажмите на изображение для увеличения
Название: PIC_0063.jpg
Просмотров: 47
Размер:	1.02 Мб
ID:	11776  

Последний раз редактировалось homo_sapiens; 02.09.2010 в 16:01.
homo_sapiens вне форума  
Непрочитано 02.09.2010, 15:57  
homo_sapiens
Временная регистрация
 
Аватар для homo_sapiens
 
Регистрация: 20.05.2010
Адрес: Н.Новгород
Сообщений: 70
Сказал спасибо: 28
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
homo_sapiens на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Вот архив исходника.

Только досмотрел приношу свои извинения может я не в тему попал. Но все таки жду коментарий
Вложения:
Тип файла: zip termorus.zip (28.1 Кб, 48 просмотров)

Последний раз редактировалось homo_sapiens; 02.09.2010 в 16:20.
homo_sapiens вне форума  
Непрочитано 02.09.2010, 16:56  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Вы конечно попали совсем не в ту тему. Но попробую помочь. Дело в том что код буквы в индикаторе и в кодогенераторе компъютера не совпадают. Более того, не все русские буквы в индикаторе вообще имеются, для некоторых применяются латинские из основной раскладки. Например буква А только одна, хранить две бессмысленно. Так что у Вас есть два варианта - хранить строки в обычной комповой кодировке и перед выводом на экран перекодировать либо сразу в ручную закодировать в кодировке индикатора.
Второе проще если у Вас не несколько десятко строк.
Прикрепляю табличку. Например код 0xA0 это буква "Б", 0xA7 - "Л" и т.п.
Миниатюры:
Нажмите на изображение для увеличения
Название: codepage.GIF
Просмотров: 39
Размер:	35.5 Кб
ID:	11778  
kison вне форума  
Сказали "Спасибо" kison
homo_sapiens (02.09.2010)
Непрочитано 02.09.2010, 17:09  
homo_sapiens
Временная регистрация
 
Аватар для homo_sapiens
 
Регистрация: 20.05.2010
Адрес: Н.Новгород
Сообщений: 70
Сказал спасибо: 28
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
homo_sapiens на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Да я такую табличку уже имею я скачивал из инета, И тем не менее спасибо за разьяснение. Премного благодарен.
homo_sapiens вне форума  
Непрочитано 02.09.2010, 17:19  
homo_sapiens
Временная регистрация
 
Аватар для homo_sapiens
 
Регистрация: 20.05.2010
Адрес: Н.Новгород
Сообщений: 70
Сказал спасибо: 28
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
homo_sapiens на пути к лучшему
По умолчанию Re: Помогите разобраться с SPI AVR

Да я тоже это понял да и вычитал что буквы там не все, В исходнике было написано "Ул." "Дом" а буквы "з" и "а" это я уже нарисовал. и вставил.У меня сложности я никак не найду где задается размер строки.

Да и пожалуйста подскажите как мне перенести мои сообщения в нужную тему чтобы не портить данный раздел. еще раз извените.

Последний раз редактировалось homo_sapiens; 02.09.2010 в 17:26.
homo_sapiens вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, создать АОН на AVR ArtUrl1986 Микроконтроллеры, АЦП, память и т.д 23 30.04.2016 18:48
[Решено] Помогите разобраться с генератором igor1000 Электроника средств транспорта 10 05.07.2010 12:53
Этот непонятный SPI! ПОМОГИТЕ! week Микроконтроллеры, АЦП, память и т.д 6 14.04.2010 15:09
Помогите с прошивкой в AVR studio _grey_ Микроконтроллеры, АЦП, память и т.д 5 26.03.2010 21:59
Помогите разобраться с кодом Micro C for AVR deeman30rus Электроника - это просто 7 09.02.2010 11:46


Часовой пояс GMT +4, время: 00:02.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.