Например TDA7294

Форум РадиоКот • Просмотр темы - связь 2х Atmega8 через RFM69HW
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн авг 04, 2025 13:19:09

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Ср янв 24, 2024 11:53:01 
Встал на лапы

Зарегистрирован: Чт дек 16, 2021 18:20:02
Сообщений: 95
Рейтинг сообщения: 0
всем доброго дня.
Пытаюсь передать переменную через RFM69HW. Значения переменной не передаются или не принимаются.
Оборудования для замера радиочастотной активности нет.
Может у кого то есть кусочек кода, что бы точно рабочий был, для проверки модулей. А то может с ними что то не так.
Хотя может и я в коде что то напортачил. вот код передающей части:
Код:
#define F_CPU 1000000UL // Частота контроллера 1 МГц

            #include <avr/io.h>
            #include <util/delay.h>
            #include <avr/interrupt.h>
            #include <stdint.h>

            #define LCD_RS 2
            #define LCD_EN 3
            #define LCD_D4 4
            #define LCD_D5 5
            #define LCD_D6 6
            #define LCD_D7 7

            #include "LCD.h"


            // Настройки битов модуля RFM69HW
            #define RFM69_FREQUENCY_MSB 0x10
            #define RFM69_FREQUENCY_LSB 0xE4
            #define RFM69_POWER_LEVEL   0x80
            #define RFM69_DATA_RATE     0x03
            #define RFM69_CHANNEL_WIDTH 0x48
            #define RFM69_SPI_SPEED     1000000 // 1 MHz SPI speed

            // Пины для подключения к модулю RFM69
            #define SS_PIN  2
            #define MOSI_PIN 3
            #define MISO_PIN 4
            #define SCK_PIN  5

            // Переменные для передачи данных
            volatile uint16_t comand_1 = 0;

            void spi_init() {
               // Настройка SPI
               DDRB |= (1 << MOSI_PIN) | (1 << SCK_PIN) | (1 << SS_PIN);
               SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR0);
            }

            void spi_transfer(uint8_t data) {
               SPDR = data;
               while (!(SPSR & (1 << SPIF)));
            }

            void rfm69_init() {
               // Настройка битов модуля
               spi_transfer(0x80 | RFM69_FREQUENCY_MSB);
               spi_transfer(RFM69_FREQUENCY_LSB);
               spi_transfer(RFM69_POWER_LEVEL);
               spi_transfer(RFM69_DATA_RATE);
               spi_transfer(RFM69_CHANNEL_WIDTH);

               // Включение передатчика
               spi_transfer(0x80 | 0x09);
               spi_transfer(0x01);
            }

            void rfm69_send(uint16_t data) {
               // Передача данных
               spi_transfer(0x80 | 0x00);
               spi_transfer(data >> 8);
               spi_transfer(data & 0xFF);
               spi_transfer(0x80 | 0x08);
            }

            int main() {
               spi_init();
               rfm69_init();
               LCD_Init();
               _delay_ms(10);
               LCD_Print("333-555");

               while (1) {
                  rfm69_send(comand_1);
                  comand_1++;
                  print_varible (comand_1)  ;

                  _delay_ms(2000); // Задержка 2 секунды
               }

               return 0;
            }



А вот приннимающей:
Код:
#define F_CPU 1000000UL // Частота контроллера 1 МГц

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <stdint.h>
#define LCD_RS 2
#define LCD_EN 3
#define LCD_D4 4
#define LCD_D5 5
#define LCD_D6 6
#define LCD_D7 7

#include "LCD.h"

// Настройки битов модуля RFM69HW
#define RFM69_FREQUENCY_MSB 0x10
#define RFM69_FREQUENCY_LSB 0xE4
#define RFM69_POWER_LEVEL   0x80
#define RFM69_DATA_RATE     0x03
#define RFM69_CHANNEL_WIDTH 0x48
#define RFM69_SPI_SPEED     1000000 // 1 MHz SPI speed

// Пины для подключения к модулю RFM69
#define SS_PIN  2
#define MOSI_PIN 3
#define MISO_PIN 4
#define SCK_PIN  5

// Переменные для принятия данных
volatile uint16_t comand_2 = 0;

void spi_init() {
   // Настройка SPI
   DDRB |= (1 << MOSI_PIN) | (1 << SCK_PIN) | (1 << SS_PIN) | (1 << MISO_PIN);
   SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR0);
}

uint8_t spi_transfer(uint8_t data) {
   SPDR = data;
   while (!(SPSR & (1 << SPIF)));
   return SPDR;
}

void rfm69_init() {
   // Настройка битов модуля
   spi_transfer(0x80 | RFM69_FREQUENCY_MSB);
   spi_transfer(RFM69_FREQUENCY_LSB);
   spi_transfer(RFM69_POWER_LEVEL);
   spi_transfer(RFM69_DATA_RATE);
   spi_transfer(RFM69_CHANNEL_WIDTH);

   // Включение приемника
   spi_transfer(0x80 | 0x05);
   spi_transfer(0x01);
}

uint16_t rfm69_receive() {
   // Прием данных
   spi_transfer(0x80 | 0x10);
   uint16_t received_data = (spi_transfer(0) << 8) | spi_transfer(0);
   return received_data;
}

int main() {
   spi_init();
   rfm69_init();
   LCD_Init();
   _delay_ms(10);
   LCD_Print("333-444");

   while (1) {
      comand_2 = rfm69_receive();
      print_varible (comand_2);

      // Ваш код для обработки переменной comand_2

      _delay_ms(500); // Задержка 0.5 секунды
   }

   return 0;
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Вс апр 14, 2024 22:10:21 
Встал на лапы

Зарегистрирован: Чт дек 16, 2021 18:20:02
Сообщений: 95
Рейтинг сообщения: 0
Жаль, что так никто ничего и не подсказал (((


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Ср апр 17, 2024 01:00:53 
Друг Кота

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 13796
Рейтинг сообщения: -2
потому что не в том разделе тема

для работы с передатчиками нужен волномер, схемы сам загуглиш

правильный код - это библиотеки для арудино
https://github.com/LowPowerLab/RFM69
залил примеры и сразу проверил модули, а не изобретать велосипед

_________________
тематические ответы только в форуме, в приват не пишите


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Ср апр 17, 2024 12:50:06 
Друг Кота

Карма: 2
Рейтинг сообщений: 67
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8201
Откуда: .ru
Рейтинг сообщения: 0
Оборудования для замера радиочастотной активности нет.

Оборудование для замера радиочастотной активности - это простой диод с индикатором))
https://www.youtube.com/watch?v=YChJt2jQXVg
:tea:
в попу все ваши библиотеки для арудино))
надо открыть даташит и настроить всё согласно даташиту.
:tea:
кто это будет делать за вас... не ясно))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Ср апр 17, 2024 14:30:23 
Друг Кота

Карма: 49
Рейтинг сообщений: 544
Зарегистрирован: Чт фев 20, 2014 18:57:55
Сообщений: 19488
Рейтинг сообщения: 0
кто это будет делать за вас... не ясно))

уже сделали... в библиотеках :))

_________________
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Вт май 07, 2024 16:25:39 
Встал на лапы

Зарегистрирован: Чт дек 16, 2021 18:20:02
Сообщений: 95
Рейтинг сообщения: 0
правильный код - это библиотеки для арудино
https://github.com/LowPowerLab/RFM69
залил примеры и сразу проверил модули, а не изобретать велосипед

Ну вообще то у меня ни ардуина а Атмега8

Добавлено after 1 minute 15 seconds:
Оборудования для замера радиочастотной активности нет.

Оборудование для замера радиочастотной активности - это простой диод с индикатором))
https://www.youtube.com/watch?v=YChJt2jQXVg


Спасибо, посмотрю.

Добавлено after 1 minute 27 seconds:
потому что не в том разделе тема


Так тут увидел темы про радиоуправление на подобных схемах, вот и написал сюда.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Вт май 07, 2024 17:58:25 
Друг Кота

Карма: 49
Рейтинг сообщений: 544
Зарегистрирован: Чт фев 20, 2014 18:57:55
Сообщений: 19488
Рейтинг сообщения: 0
Ну вообще то у меня ни ардуина а Атмега8

Шансов найти готовую библиотеку к ардуине больше. В IDE там есть вариант с атмега8, я что то на ней ваял как на ардуине, но библиотека может оказаться несовместима с 8.

_________________
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Вт май 07, 2024 19:21:25 
Друг Кота

Карма: 2
Рейтинг сообщений: 67
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8201
Откуда: .ru
Рейтинг сообщения: 0
Так тут увидел темы про радиоуправление на подобных схемах, вот и написал сюда.

тут у нас куча тем про радиоуправление... ни нигде ни разу мы не использовали библиотеки))
что ж все такие ленивые стали.. .уже даташит открыть всем влом))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Вт май 07, 2024 22:07:14 
Друг Кота

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 13796
Рейтинг сообщения: 0
Vovik-78 писал(а):
Ну вообще то у меня ни ардуина а Атмега8

ардуино это фреймворк, а не контроллер
он упрощает и унифицирует написание кода
под мегу 8 надо только установить свое ядро, загуглиш как это сделать

Vovik-78 писал(а):
Так тут увидел темы про радиоуправление на подобных схемах, вот и написал сюда.

тема больше подходит под программирование контроллеров, а не про радио

_________________
тематические ответы только в форуме, в приват не пишите


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Ср май 08, 2024 09:16:03 
Друг Кота

Карма: 49
Рейтинг сообщений: 544
Зарегистрирован: Чт фев 20, 2014 18:57:55
Сообщений: 19488
Рейтинг сообщения: 0
под мегу 8 надо только установить свое ядро, загуглиш как это сделать

раньше вроде по дефолту была поддержка. пункт назывался как то "... NG and older "

_________________
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Ср май 08, 2024 11:18:48 
Друг Кота

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 13796
Рейтинг сообщения: 0
ну так первые версии ардуины и были написаны, когда мега8 была популярная и платы были на ее основе

_________________
тематические ответы только в форуме, в приват не пишите


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Чт май 16, 2024 22:53:46 
Встал на лапы

Зарегистрирован: Чт дек 16, 2021 18:20:02
Сообщений: 95
Рейтинг сообщения: 0
что ж все такие ленивые стали.. .уже даташит открыть всем влом))
:tea:

Так приведенный в первом посте код и писал по даташиту. Но либо что то недоглядел, либо ошибся. По этому и создал тему.
Сложно искать ошибки в своем же коде.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: связь 2х Atmega8 через RFM69HW
СообщениеДобавлено: Пт май 24, 2024 17:00:27 
Вымогатель припоя

Зарегистрирован: Вс сен 10, 2006 00:04:03
Сообщений: 527
Рейтинг сообщения: 0
а может там связи нет.Попробуйте подавать чередующиеся ноль и единиц через секунду-две,а на приеме подключите светодиод.
А уж потом со своей переменной работайте


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y