Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Нужно передать данные из одного контроллера в другой...
Нужно передать данные из одного контроллера в другой...
MiXaS Дата: Чт, 06.11.2014, 21:16  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Цитата DNM ()
а как быть, если скорость передачи данных ограничена 1 кб/с? То даже на Т300 не получится? может кто посоветует?
не совсем понятен вопрос. Тут все просто, чем ниже скорость, тем длиннее можно использовать линию.
DNM Дата: Пт, 07.11.2014, 14:04  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 0   ±
Замечания:   ±
На сайте с 29.09.2011

Статус: Offline

Цитата MiXaS ()
длиннее можно использовать линию.
нет, дело не в длине.. просто нужно посылать данные в чужой контроллер (с чужой прошивкой), а там скорости приема данных ограничена, да еще с инвертированием, т.е. вместо 1 придется слать 0...

Пример (не работает angry , не знаю почему, 'pulsout clk,1 - нельзя, т.к. инвертирование):

 Include "modedefs.bas"          ' Include serial modes

 X VAR byte
 y VAR  byte
 d var byte
 DAT VAR PORTB.5 ' определяем и задаём соответствие
 CLK VAR PORTB.4
 CS VAR PORTB.6
 'RS232_out var PORTB.4 ' RB4 is RS232 output

TRISB = %00000000
portb=%11111111

y=%10101010 'код
start:
pause 1000

'*****************************
CS=0 'по этой команде включаем прием 8 бит кода (инвертировать?)
pause 10
dat=y.1 'выставляем значение бита для передачи'
'pulsout clk,1
clk =0 'передаем по положительному импульсу
pause 10
clk = 1
pause 10

dat=y.2
'pulsout clk,1
clk =0
pause 10
clk =1
pause 10

dat=y.3
'pulsout clk,1
clk =0
pause 10
clk =1
pause 10

dat=y.4
'pulsout clk,1
clk =0
pause 10
clk =1
pause 10

dat=y.5
'pulsout clk,1
clk =0
pause 10
clk =1
pause 10

dat=y.6
'pulsout clk,1
clk =0
pause 10
clk =1
pause 10
dat=y.7
'pulsout clk,1
clk =0
pause 10
clk =1
pause 10

CS=1 'закончить передачу
pause 10

goto start


Более подробно здесь: http://asemlab.net/
Сообщение отредактировал DNM - Пт, 07.11.2014, 14:08
DAlexV Дата: Пт, 07.11.2014, 14:33  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

DNM,  я таки извиняюсь а причем тут UART ?????
Цитата DNM ()
Совсем впал в ступор. а как быть, если скорость передачи данных ограничена 1 кб/с? То даже на Т300 не получится? может кто посоветует?

Цитата DNM ()
 DAT VAR PORTB.5 ' определяем и задаём соответствие  
CLK VAR PORTB.4  CS VAR PORTB.6
 'RS232_out var PORTB.4 ' RB4 is RS232 output

Тут SPI-ем попахивает. Если хардовый есть на борту используемого проца, то проблем куча исчезает. Любая скорось (при варианте использования TMR2. Либо предделитель используем).
С софтовым немного посложнее но то же решаемо. На краний случай свой пишем.

Вот только сомнение закралось. Посылка, если верить коду 7 - битная ????? Или очепятка в коде ?????
И ни слова ни о проце ни о частоте кварца. Гадать опять будем ???? sad


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
DNM Дата: Пт, 07.11.2014, 18:25  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 0   ±
Замечания:   ±
На сайте с 29.09.2011

Статус: Offline

Цитата
DNM,  я таки извиняюсь а причем тут UART ?????
в том-то и дело, что не причем, это из предыдущих версий программы - скорость у UART - великовата.. не смотрим на  'RS232_out var PORTB.4 ' RB4 is RS232 output

частота 4 МГЦ INTRC - 16F628

как с TMR2 НАПИСАТЬ SPI? ЧТО-ТО я думаю Вы правильное направление задали...!
однако, думаю, что настоящий SPI организовать не удастся, т.к. SPIin писать не куда (контроллер чужой и код мне не известен), а речь идет о http://radiokot.ru/circuit/digital/game/20/

вместо кнопок - контроллер, вместо светодиодов - контроллер( приемник)

Зачем такой е..-рой?
не могу сам управлять MRF, а автор проекта просит   за .ASM 300 баксов angry
,,,,

вот и изго..-юсь angry


Более подробно здесь: http://asemlab.net/
Сообщение отредактировал DNM - Пт, 07.11.2014, 18:46
ivan_fd Дата: Пт, 07.11.2014, 20:30  |                                                                                                                Сообщение # 20
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Там самый настоящий SPI. А то, что просит 300 $ - это его право.

Этот трансивер микрочиповский, посмотрите на их сайте  апноут AN1252. Там есть
исходник.
MiXaS Дата: Сб, 08.11.2014, 12:33  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Все как-то сложно Вы пытаетесь решить. Вы опишите на пальцах что хотите, а мы поможем. Я так полагаю Вам нужно свои данные транслировать через эфир. Для этого есть готовые модули приемопередатчик, стоимость которых около 1$. Дальность как у обычной точки wi-fi, так как мощность передатчика и чатота такая же. Если этого недостаточно есть более мощный передатчик, который обеспечивает дальность около 1000м на открытом воздухе. Для этих двух трансиверов я могу Вам дать код. У нас на форуме есть еще статья, посвященная этой теме.

Если Вы все-таки прикипели именно к MRF49XA, тогда даташит вам в руки.

Я поглядел его мельком и могу точно сказать, что UART там нет. Это самый обычный SPI. Еще хочется отметить, что модули которые я Вам предложил и дешевле и мотать ничего ненадо, а все остальные параметры схожи. Кроме буфера, у MRF49XA 2 байта, а у NRF 24L01+ 32байта.
ЯНДЕКС Дата: 08.11.2014
DAlexV Дата: Сб, 08.11.2014, 14:19  |                                                                                                                Сообщение # 22
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

DNM,  что касаемо
Цитата DNM ()
как с TMR2 НАПИСАТЬ SPI? ЧТО-ТО я думаю Вы правильное направление задали...! однако, думаю, что настоящий SPI организовать не удастся, т.к. SPIin писать не куда (контроллер чужой и код мне не известен), а речь идет о http://radiokot.ru/circuit/digital/game/20/
то здесь я соглашусь с колегами. Есть ли смысл. Во первых наличие хардового SPI на борту очень желательно(в 628 его нет).
Цитата MiXaS ()
Все как-то сложно Вы пытаетесь решить. Вы опишите на пальцах что хотите, а мы поможем. Я так полагаю Вам нужно свои данные транслировать через эфир.
Цитата MiXaS ()
Для этого есть готовые модули приемопередатчик
24L здесь будет интереснее да и примеров кода в нэте полно. Думаю стоит над этим подумать.
Цитата ivan_fd ()
просит 300 $ - это его право.
А заниматься Reverse Inginering нет смысла для единичных поделок. Так что еще раз повторюсь. Может стоит пересмотреть идею пока еще далеко все не зашло ?????
Успехов wink


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
xvovanx Дата: Сб, 08.11.2014, 19:54  |                                                                                                                Сообщение # 23
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата MiXaS ()
... NRF24L01..NRF24L01+PA+LNA....Для этих двух трансиверов я могу Вам дать код...


Пожалуйста, если можно good
MiXaS Дата: Вс, 09.11.2014, 02:13  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

xvovanx,  смотрите личку
xvovanx Дата: Вс, 09.11.2014, 12:02  |                                                                                                                Сообщение # 25
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

MiXaS, благодарю, с меня формула

Репутация = Репутация + log10 10
  smile
MiXaS Дата: Вс, 09.11.2014, 12:14  |                                                                                                                Сообщение # 26
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Цитата xvovanx ()
Репутация = Репутация + log10 10


Вот это формула, так формула! Спасибо!
DNM Дата: Пн, 10.11.2014, 17:05  |                                                                                                                Сообщение # 27
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 0   ±
Замечания:   ±
На сайте с 29.09.2011

Статус: Offline

Цитата MiXaS ()
Дальность как у обычной точки wi-fi, так как мощность передатчика и чатота такая же. Если этого недостаточно есть более мощный передатчик, который обеспечивает дальность около 1000м на открытом воздухе. Для этих двух трансиверов я могу Вам дать код.
если можно, то попрошу код. Пришлите в личку пл.

а схемы с печаткой нет случайно? wink


Более подробно здесь: http://asemlab.net/
Сообщение отредактировал DNM - Пн, 10.11.2014, 17:08
MiXaS Дата: Пн, 10.11.2014, 17:22  |                                                                                                                Сообщение # 28
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Цитата DNM ()
а схемы с печаткой нет случайно?


Схемы чего? Если трансивера, то проще купить готовый, но в даташите есть и схема и печатка, а если схема контроллера, которая управляет трансивером, то нету, так как я обычно не рисую схемы для элементарных примеров. Но Вы не огорчайтесь, там все просто. Из кода вам будет ясно куда вешать дисплей, а куда и как трансивер. Правда не везде есть комменты, поэтому придется раскуривать самостоятельно. Желательно с даташитом.
DNM Дата: Пн, 10.11.2014, 23:32  |                                                                                                                Сообщение # 29
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 75
Репутация: 0   ±
Замечания:   ±
На сайте с 29.09.2011

Статус: Offline

спасибо!
MiXaS ! не получается скачать с яндековской ссылки, пожалуйста перезалейте архив на другой файлообменник или перешлите архив на мой e-mail(см. личку)


Более подробно здесь: http://asemlab.net/
Сообщение отредактировал DNM - Пн, 10.11.2014, 23:33
MiXaS Дата: Вт, 11.11.2014, 15:22  |                                                                                                                Сообщение # 30
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Смотрите почту. Что-то диск, наверно, глючит.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Нужно передать данные из одного контроллера в другой...
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: