Easyelectronics.ru

Электроника для всех
Текущее время: 22 авг 2019, 08:31

Часовой пояс: 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
Сообщения: 226
Инициализация
Код:
#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
Сообщения: 591
Откуда: Санкт-Петербург
могу помочь, если есть конкретные вопросы.

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


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

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


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

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


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

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


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

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

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