СПИ-3 провода

Мики
Ср 18 мая 2016 г., 22:30
Привет,
Мне нужна помощь.Я хочу использовать 3 Wire Spi Comm с радиочастотным модулем.
Мне нужно использовать PIN -код MOSI, двунаправленный для записи и чтения .Как я могу это сделать ?Я хочу использовать HW SPI .Bitbaging я знаю, чтобы сделать это.
У меня есть мини -кленовая доска.

ZMEMW16
Ср 18 мая 2016 г., 11:00 вечера
Какой радиочастотный модуль?

Если вы не предоставляете информацию, чтобы разрешить ответ, мы не можем.

С первого догадания попробуйте Google с Arduino + <модуль> + библиотека e.глин. arduino + nrf24l01 + библиотека
Также для 3 Wire Spi и Arduino

Стивен

Werecatf
Ср 18 мая 2016 г. 11:29 вечера
ZMEMW16 написал:С первого догадания попробуйте Google с Arduino + <модуль> + библиотека e.глин. arduino + nrf24l01 + библиотека
Также для 3 Wire Spi и Arduino

ZMEMW16
Чт 19 мая 2016 г., 12:19
ОК, второе предположение

делает ул.Com SPI оборудование поддерживает его?

Какой модуль ? своего рода основной неизвестной. немного как просить строителя по фиксированной цене?

Стивен с протекающей крышей

Mrburnette
Чт 19 мая 2016 г., 1:08
Это приложение может быть полезно
https: // www.Максимунтегрирован.com/en/приложение- ... MVP/ID/169

Кажется, если вы все равно думаете, что это должно быть выполнено.

Это предполагает реальное использование с Arduino

Луча

Werecatf
Чт 19 мая 2016 г. 1:26 утра
ZMEMW16 написал:делает ул.Com SPI оборудование поддерживает его?

Grumpyoldpizza
Чт 19 мая 2016 г., 4:07
WereCatf написал:ZMEMW16 написал:делает ул.Com SPI оборудование поддерживает его?

Мики
Чт 19 мая 2016 г., 6:48
РЧ -модуль не имеет отношения к этому обсуждению, но это не секрет.2.4 ГГц A7105 использует 3wires SPI, SDIO PIN -код является двунаправленным.

Есть несколько примеров, но используйте разные чипы STM32 со стандартной перифтой STM32. библиотека.Я хочу использовать с Arduino с STM32F103
http: // www.BA0SH1.com/2014/05/11/howto- ... сплетенный режим/


void SPI_BiDirectionalLineConfig(SPI_TypeDef* SPIx, uint16_t SPI_Direction) { /* Check the parameters */ assert_param(IS_SPI_ALL_PERIPH(SPIx)); assert_param(IS_SPI_DIRECTION(SPI_Direction)); if (SPI_Direction == SPI_Direction_Tx) { /* Set the Tx only mode */ SPIx->CR1 |= SPI_Direction_Tx; } else { /* Set the Rx only mode */ SPIx->CR1 &= SPI_Direction_Rx; } }

Racemaniac
Чт 19 мая 2016 г. 8:31 утра
Ну, теперь вы начинаете читать справочное руководство STM32F103, чтобы понять, как работает порт SPI, что делает его регистры. Затем вы начинаете изучать Libmaplecode/The Library The Spi Library и узнаете, где вам придется внести изменения, чтобы выполнить полууплексную связь, а затем вы ее реализуете, и поделитесь им с остальными :).

Мики
Чт 19 мая 2016 г., 9:54
Так что вы не знаете, как это сделать.
В любом случае, спасибо.

ZMEMW16
Чт 19 мая 2016 г., 10:28 утра
у вас есть дорожная карта, маршрут зависит от вас.
Учиться, делая, а не. Эта методология применима во многих областях.
Один из моих сокурсников, которого я до сих пор помню, начал каждую проблему с основными уравнениями и продемонстрировал
Поговорка о том, что инженер знает, как и почему он работает.
Лошади и водные мысли также появляются.

Стивен

Мики
Чт 19 мая 2016 г., 10:52
Ардуино был изобретен, чтобы быть простым в использовании и более быстрое кодирование, не тратя ценное время.
Постоянная библиотека STM32 слишком низкая, чтобы начать выравнивать листы кода только для инициализации и переключения одного единственного вывода, по этой причине Arduino был идеальным выбором imo . Но бесполезно сказать каждому пользователю Arduino, что он должен искать в Arduino Core или Arduino Library и посмотреть, что вы можете там сделать.В первую очередь он теряет аргумент об использовании Arduino.
Поток здесь связан с фрагментами кода, поэтому я думаю, что я был онтопическим, просил подсказки, может быть, какой -то код, чем искать в библиотеке Maple, и посмотреть, что вы можете найти там.
Если вы/кто -нибудь не знает, как это делать или где смотреть, не позор.Конечно, вместо того, чтобы продолжать мой проект в Ардуино, мне нужно, чтобы проверить Hot, чтобы изменить библиотеку Maple.
Как я уже говорил ,...В любом случае спасибо.

Werecatf
Чт 19 мая 2016 г., 11:03
Мики написал:Ардуино был изобретен, чтобы быть простым в использовании и более быстрое кодирование, не тратя ценное время.
Постоянная библиотека STM32 слишком низкая, чтобы начать выравнивать листы кода только для инициализации и переключения одного единственного вывода, по этой причине Arduino был идеальным выбором imo . Но бесполезно сказать каждому пользователю Arduino, что он должен искать в Arduino Core или Arduino Library и посмотреть, что вы можете там сделать.В первую очередь он теряет аргумент об использовании Arduino.
Поток здесь связан с фрагментами кода, поэтому я думаю, что я был онтопическим, просил подсказки, может быть, какой -то код, чем искать в библиотеке Maple, и посмотреть, что вы можете найти там.
Если вы/кто -нибудь не знает, как это делать или где смотреть, не позор.Конечно, вместо того, чтобы продолжать мой проект в Ардуино, мне нужно, чтобы проверить Hot, чтобы изменить библиотеку Maple.
Как я уже говорил ,...В любом случае спасибо.

Grumpyoldpizza
Чт 19 мая 2016 г., 11:46
Мики написал:РЧ -модуль не имеет отношения к этому обсуждению, но это не секрет.2.4 ГГц A7105 использует 3wires SPI, SDIO PIN -код является двунаправленным.

Есть несколько примеров, но используйте разные чипы STM32 со стандартной перифтой STM32. библиотека.Я хочу использовать с Arduino с STM32F103
http: // www.BA0SH1.com/2014/05/11/howto- ... сплетенный режим/

Racemaniac
Чт 19 мая 2016 г., 12:02
Мики написал:Так что вы не знаете, как это сделать.
В любом случае, спасибо.

Мики
Чт 19 мая 2016 г., 12:11
Я знаю, что, но Gio1 и Gio2 Pin занята контрольной PA/LNA, поэтому они недоступны.
Спасибо.

И это не делает для меня, это делает для нас все улучшение кода Arduino SPI с полупродажной функцией от людей, которые лучше знают библиотеку Maple и STSM32 "гайки и болты".
@Werecatf
Если вы не хотите (не платят, заболел своей жизнью, что угодно) или Ардуино не полна, скажем, не можете, не нужно обидеть меня.Я не ребенок.У меня есть более крупный проект Arduino в AVR, и я хочу перенести его в STM32, я не хочу использовать файл Make со стандартными библиотеками STM32 и оберткой для файлов Arduino, которые у меня есть.Если возможно, если нет, это моя проблема.

@racemaniac
Я сделаю некоторые тесты, когда вернусь домой. Спасибо.


Grumpyoldpizza написал:Мики написал:РЧ -модуль не имеет отношения к этому обсуждению, но это не секрет.2.4 ГГц A7105 использует 3wires SPI, SDIO PIN -код является двунаправленным.

Есть несколько примеров, но используйте разные чипы STM32 со стандартной перифтой STM32. библиотека.Я хочу использовать с Arduino с STM32F103
http: // www.BA0SH1.com/2014/05/11/howto- ... сплетенный режим/

Grumpyoldpizza
Чт 19 мая 2016 г., 12:22
Мики написал:Я знаю, что, но Gio1 и Gio2 Pin занята контрольной PA/LNA, поэтому они недоступны.

Мики
Чт 19 мая 2016 г., 12:30
Да, это половина правда, но вы забываете вторую часть,
Я думаю, в конце концов я буду придерживаться битбанга.

Grumpyoldpizza
Чт 19 мая 2016 г., 12:33
Мики написал:Да, это половина правда, но вы забываете вторую часть,
Я думаю, в конце концов я буду придерживаться битбанга.

Мики
Чт 19 мая 2016 г. 12:41
Первая половина и вторая половина


Мики написал:
И это не делает для меня, это делает для нас все улучшение кода Arduino SPI с полупроводной функцией наполовину дуплекса ......от людей, которые лучше всего знают библиотеку Maple и STSM32 "гайки и болты".

Mrburnette
Чт 19 мая 2016 г., 13:16
Мики написал:РЧ -модуль не имеет отношения к этому обсуждению, но это не секрет.2.4 ГГц A7105 использует 3wires SPI, SDIO PIN -код является двунаправленным.

Есть несколько примеров, но используйте разные чипы STM32 со стандартной перифтой STM32. библиотека.Я хочу использовать с Arduino с STM32F103
http: // www.BA0SH1.com/2014/05/11/howto- ... сплетенный режим/
<...>
Как можно реализовать это, если это возможно. Битбангинг - последний вариант.

Racemaniac
Чт 19 мая 2016 г., 13:34
Честно говоря, я думаю, что если он попробовал и придет для нас за помощью, когда пытался, но если у вас будет трудное время, это будет выполнимо, и он получит хорошую помощь :).
Я совсем недавно работал с портом SPI и его текущими реализациями (и сделал свое собственное построение реализации дальше в коде Libmaple), поэтому, если у него есть проблемы, я наверняка могу помочь ему.
Если я проведу выходные на это, я, вероятно, также могу заставить его работать сам (но у меня просто нет времени, чтобы сделать это банкомат -_-).

Форумы следуют определенной карме: вы получите столько же ответов, сколько вы показываете усилия. Если ваш вопрос: «Я хочу этого, и вы должны сделать это для меня», то ответ «нет». Если ваш вопрос: «Я пытаюсь заставить это работать, но я застрял здесь или не понимаю, как это работает», вы получите помощь от людей, которые делали то же самое и знаете это лучше тебя :).
Банкомат, он в значительной степени спрашивает первое, и у меня есть свои собственные проекты & Код для заботы, поэтому у меня нет времени для реализации этого. Если он застрял в реализации этого самого, у меня есть большой опыт работы с теми вещами, с которыми я бы хотел поделиться :).

Мики
Чт 19 мая 2016 г., 13:41
Ух ты,.... Мне удалось выйти из вас на 3-й странице, ребята.Это означает, что есть некоторый интерес. Ржу не могу!
Я кратко прочитал ссылку.Кажется легко реализовать на более низком уровне.Я скоро выложу код.
Спасибо!

Mrburnette
Чт 19 мая 2016 г., 13:52
Мики написал: <...>
Я кратко прочитал ссылку.Кажется легко реализовать на более низком уровне.Я скоро выложу код.
Спасибо!

Racemaniac
Чт 19 мая 2016 г. 13:54
Мики написал:Ух ты,.... Мне удалось выйти из вас на 3-й странице, ребята.Это означает, что есть некоторый интерес. Ржу не могу!
Я кратко прочитал ссылку.Кажется легко реализовать на более низком уровне.Я скоро выложу код.
Спасибо!

Martinayotte
Чт 19 мая 2016 г. 14:01
Кстати, @miki, я не думаю, что вы действительно упомянули, какой радиочастотный модуль вы используете ...
Какой это ?

Мики
Чт 19 мая 2016 г. 14:11
Я поднимаю какой -то общий код.Я боюсь идти в клен.Я привык работать с регистрами AVR.Но это кажется не совсем другим.
Может быть, я смогу объединить Arduino для функции init и в остальном манипулировать регистрами.

uint8_t spi_read(){ uint8_t rx; while(!(SPI_SR & (1<

Grumpyoldpizza
Чт 19 мая 2016 г. 15:26
Мики написал:Я поднимаю какой -то общий код.Я боюсь идти в клен.Я привык работать с регистрами AVR.Но это кажется не совсем другим.
Может быть, я смогу объединить Arduino для функции init и в остальном манипулировать регистрами.

Grumpyoldpizza
Чт 19 мая 2016 г. 15:39
Grumpyoldpizza написал:Мики написал:Я поднимаю какой -то общий код.Я боюсь идти в клен.Я привык работать с регистрами AVR.Но это кажется не совсем другим.
Может быть, я смогу объединить Arduino для функции init и в остальном манипулировать регистрами.

Мики
Чт 19 мая 2016 г., 16:01
Мне не нужно идти быстрее 4.5 МГц на SPI2 Div8 достаточно.

Grumpyoldpizza
Чт 19 мая 2016 г., 16:08
Мики написал:Мне не нужно идти быстрее 4.5 МГц на SPI2 Div8 достаточно.

Мики
Чт 19 мая 2016 г., 16:43
Я должен проверить это, когда вернусь домой.Да, начните с более низкой скорости.
Спасибо.

Grumpyoldpizza
Пн 23 мая 2016 г. 18:03
Мики написал:Я должен проверить это, когда вернусь домой.Да, начните с более низкой скорости.
Спасибо.

Мики
Вторник 31 мая 2016 г. 16:50
Извините за задержку ,
Да, я смог проверить сегодня, и он очень хорошо работает в Arduino Ide 1.6.5
Смотрите ниже мой код для SPI2
#include SPIClass SPI_2(2); //Create an instance of the SPI Class called SPI_2 that uses the 2nd SPI Port void initSPI2() { //SPI_DISABLE(); SPI_2.end(); SPI2_BASE->CR1 &=~SPI_CR1_DFF_8_BIT;//8 bits format This bit should be written only when SPI is disabled (SPE = �0�) for correct operation. SPI_2.begin(); //Initialize the SPI_2 port. SPI_2.setBitOrder(MSBFIRST); // Set the SPI_2 bit order SPI_2.setDataMode(SPI_MODE0); //Set the SPI_2 data mode 0 SPI_2.setClockDivider(SPI_CLOCK_DIV32); //// Slow speed (36 / 32 = 1.125 MHz SPI_2 speed) It is not worlking witvDIV16 and higher } uint16_t _spi_write(uint16_t command){ SPI2_BASE->DR = command; while (!(SPI2_BASE->SR & SPI_SR_RXNE)); //SPI_2.transfer(command);//working also with this one only return SPI2_BASE->DR; } uint8_t _spi_read(){ uint8_t rx=0; SPI_DISABLE(); SPI_SET_BIDIRECTIONAL(); SPI_ENABLE(); while(!(SPI2_BASE->SR& SPI_SR_RXNE)); rx=SPI2_BASE->DR; SPI_DISABLE(); SPI_SET_UNIDIRECTIONAL(); SPI_ENABLE(); return rx; } void SPI_ENABLE(){ SPI2_BASE->CR1 |= SPI_CR1_SPE;//enable SPI } void SPI_DISABLE(){ SPI2_BASE->CR1 &= ~SPI_CR1_SPE;//disable SPI } void SPI_SET_BIDIRECTIONAL() { SPI2_BASE->CR1 |= SPI_CR1_BIDIMODE; SPI2_BASE->CR1 &= ~ SPI_CR1_BIDIOE;//receive only } void SPI_SET_UNIDIRECTIONAL() { SPI2_BASE->CR1 &= ~SPI_CR1_BIDIMODE; } The spi speed cannot be increased more than 1.125 MHz clock DIV32.The A7105 gives error byte readings. Another thing I observed there is a pain in the ass to find a tutorial explaining how SPI port other than SPI1 to be set.The original maple HardwareSPI class is not usable anymore.

Mrburnette
Вторник 31 мая 2016 г., 19:22
Еще одна вещь, которую я заметил, есть боль в заднице, чтобы найти учебник, объясняющий, как будет установлен порт SPI, кроме SPI1.Оригинальный класс Maple Hardwarespi больше не используется.
http: // www.STM32duino.com/viewtopic.PHP?t = 278

Мики
Вторник 31 мая 2016 г., 19:31
Спасибо.

Да, я нашел, как реализовать его в ваших примерах.

Мики
Вторник 31 мая 2016 г., 21:24
SPI, он работает, но он слишком медленный.
1.125 МГц слишком медленно для скорости, которая мне нужна.Мне нужно быстрее хотя бы двойное.

Вассилис
Вторник 31 мая 2016 г. 11:37
Мики написал:SPI, он работает, но он слишком медленный.
1.125 МГц слишком медленно для скорости, которая мне нужна.Мне нужно быстрее хотя бы двойное.

Мики
Ср. 01 июня 2016 г. 12:02
Я знаю, как установить делитель, и это 36/4 -9 МГц
SPI2 afaik это на автобусе 36 МГц на F10X.
Проблема не в том, я получил мусор, если я увеличиваю скорость больше, чем div32

Rogerclark
Ср. 01 июня 2016 г. 1:22
Мики написал: Проблема не в том, я получил мусор, если я увеличиваю скорость больше, чем div32

Мики
Ср. 01 июня 2016 г. 1:31
STM32 производил мусор на чтении A7105 Reg
Однако я немного сыграл с тем же кодом и исправляю это .
Теперь я могу пойти div4 и получить нормальный.

Я начал любить Arduino с STM32, даже если бы я копался в библиотеке Maple, чтобы играть с Regs.В любом случае я сделал то же самое с AVR.
Очень просто сделать более быстрый код, компиляция и загрузки эскизов.

Rogerclark
Ср. 01 июня 2016 г., 2:23
@miki

Можете ли вы опубликовать свой обновленный код, если кто -то еще захочет использовать 3 Wire Spi

Спасибо

Роджер

Мики
Ср. 01 июня 2016 г. 2:35
Да, конечно.
Как я все еще не до конца понимаю, почему этот работает на более высокой скорости, а не.
Может кто -то может объяснить.Предыдущий код легко объяснить.

здесь:
это позволяет мне div2.Я тестировал с Div2 (18 МГц) и работал.Я могу написать и читать a7105 regs на этой скорости. uint8_t _spi_read(){ uint8_t rx=0; SPI_DISABLE(); SPI_SET_BIDIRECTIONAL(); SPI_ENABLE(); // SPI_DISABLE(); while(!(SPI2_BASE->SR& SPI_SR_RXNE)); rx=SPI2_BASE->DR; SPI_SET_UNIDIRECTIONAL(); SPI_ENABLE(); return rx; }

TEK 4010/4014 Vector Graphics Termin

Недостаток STM32F103 до 48 МГц