Easyelectronics.ru

Электроника для всех
Текущее время: 18 окт 2019, 19:45

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: BlueNRG-1
СообщениеДобавлено: 19 апр 2019, 13:43 
Только пришел

Зарегистрирован: 19 апр 2019, 13:13
Сообщения: 7
Есть у кого-то опыт с этим МК от ST? Имею модуль SPBTLE-1S на базе BlueNRG-1, пытаюсь организовать сеть Bluetooth. Хотелось бы простой пример на с передачей "Hello word!" по Bluetooth, хотя бы. А то уже неделю не могу сдвинуться с места.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlueNRG-1
СообщениеДобавлено: 28 апр 2019, 18:35 
Старожил

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 227
Инициализация
Код:
#include "hal_types.h"

#include "bluenrg_gatt_server.h"
#include "bluenrg_gap.h"
#include "bluenrg_gap_aci.h"
#include "bluenrg_gatt_aci.h"
#include "bluenrg_hal_aci.h"
#include "bluenrg_aci_const.h"
#include "bluenrg_utils.h"

#include "hci.h"
#include "hci_const.h"

uint32_t BLUENRG_Setup(void)
{
   uint32_t ret = 1;

   //moved from main to here - in case of BLE reset
   Clear_SPI_IRQ();
   Clear_SPI_EXTI_Flag();

   Enable_SPI_IRQ();

   /* Initialize the BlueNRG HCI */
    HCI_Init();
    /* Reset BlueNRG hardware */
   BlueNRG_RST();

   Delay_us_sys(10000);

    #if SERVER
   Osal_MemCpy(bdaddr, SERVER_BDADDR, sizeof(SERVER_BDADDR));
    #else
   Osal_MemCpy(bdaddr, CLIENT_BDADDR, sizeof(CLIENT_BDADDR));
    #endif

   //get firmware rev
    #if VERSION
   uint8_t hw_ver=0;
   uint16_t fw_ver=0;
   getBlueNRGVersion(&hw_ver,&fw_ver);  //HW_VER=30, FW_VER=640
    #endif

   //change stack mode
    #if 0
   uint8_t val = 3;
   ret = aci_hal_write_config_data(0x2D, 0X01,&val);
   if(ret)   { goto exit; /*err = 1;*/ }
    #endif

   /* Configure BlueNRG address as public (its public address is used) - MAC address of the device */
   ret = aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET, CONFIG_DATA_PUBADDR_LEN, bdaddr);
   if(ret)   { goto exit; /*err = 1; return err;*/ }

   /* Init BlueNRG GATT layer */
   ret = aci_gatt_init();
   if(ret) { goto exit; /*err = 2; return err;*/ }

   /* Init BlueNRG GAP layer as peripheral or central */
    #if SERVER
   ret = aci_gap_init(GAP_PERIPHERAL_ROLE, &service_handle, &dev_name_char_handle, &appearance_char_handle);
    #else
   ret = aci_gap_init(GAP_CENTRAL_ROLE, &service_handle, &dev_name_char_handle, &appearance_char_handle);
    #endif

   if(ret != BLE_STATUS_SUCCESS) {   goto exit; /*err = 3; return err;*/ }

    ret =  aci_gap_set_io_capability(IO_CAP_DISPLAY_ONLY);
    if (ret != BLE_STATUS_SUCCESS)   { goto exit; /*err = 4; return err;*/ }

    ret = aci_gap_set_auth_requirement(MITM_PROTECTION_REQUIRED,
                                      OOB_AUTH_DATA_ABSENT,
                                        NULL,
                                        7,
                                        16,
                                        DONOT_USE_FIXED_PIN_FOR_PAIRING /*USE_FIXED_PIN_FOR_PAIRING*/,
                                        123456,
                                        NO_BONDING);  //BONDING

     if (ret != BLE_STATUS_SUCCESS)   { goto exit; /*err = 4; return err;*/ }

     // Set output power level
     ret = aci_hal_set_tx_power_level(1,7);
     if (ret != BLE_STATUS_SUCCESS)   { goto exit; /*err = 5; return err;*/ }

     #if SERVICES
     ret = AddGenService();
     if(ret != BLE_STATUS_SUCCESS)  { goto exit;  /*err = 6; return err;*/ }
     //ret = AddTimeService();
      #endif

     exit:
     //logParam.packet_num = 0;
     set_connectable = 1;
     ble_state = BLE_CONNECTABLE;
     param1.meterStatus |= BLE_RESET;

     return ret;
}


и в мэйн в цикле
Код:
if(BlueNRG_DataPresent())
    HCI_Isr();

HCI_Process();


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlueNRG-1
СообщениеДобавлено: 06 май 2019, 14:35 
Старожил

Зарегистрирован: 02 ноя 2015, 19:21
Сообщения: 607
Откуда: Санкт-Петербург
могу помочь, если есть конкретные вопросы.

в какой IDE делаешь ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlueNRG-1
СообщениеДобавлено: 06 май 2019, 15:50 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1775
https://electronix.ru/forum/index.php?a ... b=comments


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

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB