roboforum.ru

Технический форум по робототехнике.

Обмен данными через STK200 используя SPI

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Обмен данными через STK200 используя SPI

Сообщение YanTsys » 09 май 2010, 21:54

Не могу понять такую вещь, AVR поддерживает обмен данными через SPI и при программировании
используется кабель для прошивки 5 проводков и 4 резистора (если я правильно понял такой программатор называется STK200)
почему WinAVR может заливать данные используя SPI через эти проводки а во всех учебных курсах которые я нашел
как только речь заходит об обмене данными с ПК тут же предлагается купить MAX232 и подключаться к COM порту используя UART.

Существует ли простой пример обмена данными с микросхемой во время исполнения своей программы через LPT с использованием SPI при помощи обычных 5 проводков (STK200?)?
Если еще проводки не придется перекоммутировать так совсем сказка...
Аватара пользователя
YanTsys
 
Сообщения: 6
Зарегистрирован: 07 фев 2009, 09:47
Откуда: Ростов-на-Дону

Re: Обмен данными через STK200 используя SPI

Сообщение Vooon » 09 май 2010, 23:56

Все просто: LPT — зомби :)
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Обмен данными через STK200 используя SPI

Сообщение YanTsys » 10 май 2010, 01:00

Все просто: LPT — зомби


В смысле умер? Но STK200 во всех пособиях...
К тому же пока он был еще жив должны же были какие-то разработки на эту тему появиться?
Аватара пользователя
YanTsys
 
Сообщения: 6
Зарегистрирован: 07 фев 2009, 09:47
Откуда: Ростов-на-Дону

Re: Обмен данными через STK200 используя SPI

Сообщение ALHIMIK » 10 май 2010, 12:21

у лпт входы и выходы на разных физических пинах(вроде)
также 9( 8 входов + 1 готов )ног против 2х...
Аватара пользователя
ALHIMIK
 
Сообщения: 997
Зарегистрирован: 05 окт 2008, 14:41
Откуда: СПб
прог. языки: C,Python

Re: Обмен данными через STK200 используя SPI

Сообщение galex1981 » 10 май 2010, 13:45

По любому- COM порт проще
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Обмен данными через STK200 используя SPI

Сообщение YanTsys » 11 май 2010, 12:43

ALHIMIK писал(а):у лпт входы и выходы на разных физических пинах(вроде)
также 9( 8 входов + 1 готов )ног против 2х...


Но ведь WinAVR используя эти 5 проводков программирует контроллер через SPI без всяких проблем?
Или вы хотите сказать что WinAVR использует в данном случае однонаправленную связь?
Ну так даже с однонаправленной связью через LPT было бы интересно разобраться...
Аватара пользователя
YanTsys
 
Сообщения: 6
Зарегистрирован: 07 фев 2009, 09:47
Откуда: Ростов-на-Дону

Re: Обмен данными через STK200 используя SPI

Сообщение galex1981 » 11 май 2010, 13:32

Передача данных по SPI двунаправленная, то есть по односу проводу из 4х принимаются данные, по второму отправляются данные, провод синхронизации и провод выбора кристалла. Просто смысл городить огород шиной SPI, если есть более простые интерфейсы? Ведь времени больше убьешь на программиирование передачи данных, вместо того чтобы в других направлениях программу писать
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Обмен данными через STK200 используя SPI

Сообщение boez » 11 май 2010, 13:35

Да можно организовать связь, просто неудобно это - прямого доступа к лпт порту для виндовых приложений нет, нужно корячиться через драйвер открывать этот доступ (все программаторы так и делают), времена неопределенные, в общем все это идет совершенно вразрез с идеологией современных операционных систем, где работа приложений с железом должна быть организована через API и драйвера.

В общем, обмен существует, но он не простой :) Возьми исходники любого опенсурсного порграмматора, того же avrdude или uisp, и посмотри как он организован, если есть такое желание. С ком портом проще с точки зрения программирования на стороне ПК - открыл порт как файл и пиши-читай, всю работу с регистрами железяки за тебя выполнят драйвер и API.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Обмен данными через STK200 используя SPI

Сообщение -= Александр =- » 12 май 2010, 00:54

Когда компьютер - мастер SPI - никаких проблем. Он сам генерит клоки и шлет данные, ему неважно сколько времени будет тупить драйвер - без клоков данные никуда не уплывут. А вот если мастер МК - комп имеет все шансы пропустить клок и потерять данные, т.к. время реакции драйвера неизвестно, а аппаратной защелки в LPT нету...
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Re: Обмен данными через STK200 используя SPI

Сообщение boez » 12 май 2010, 10:55

Ну про SPI Slave на LPT под виндой никто и не заикался, это ненаучная фантастика :) Человеку хочется пообщаться с контроллером по SPI и не хочется паять уартовый шнурок. Теоретически это возможно, практически для новичка сложно, могут быть подводные грабли, потому во всех руководствах и рекомендуют через уарт.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5