Перейти к содержанию
    

bassizlink

Участник
  • Постов

    42
  • Зарегистрирован

  • Посещение

Весь контент bassizlink


  1. Немного по изучал стэк профиля SPP.Из ходя из него Вам нужно по экспериментировать с двумя настройками изменив их в PSTool: "Maximum HCI ACL packet length" (ACL-Asynchronous Connection-Less. Bluetooth data packet ) , "Maximum number of HCI ACL data packets"-максимальное количество отправляемых пакетов данных, ACL HCI, которые могут храниться ,внутри микросхемы, в любое время. Драйвер для USB, LPT, прога для настройки. Bl_____ite_2.5.part1.rar Bl_____ite_2.5.part2.rar
  2. Вообщем благополучно удалил драйвер, все снова заработало.Видимо этот драйвер не для программатора, он просто позволяет настраивать модули с USB интерфейсом. Скорее всего нужно выбирать драйвер lpt при установке.НС-06 не завелся, хотя в принципе это закономерно.
  3. Писец, я в шоке.После установки USB драйвера перестали работать все блютуз донглы, пока не знаю как это исправить, но появилась возможность читать и менять ключи через PSTools, без всяких программаторов. Попробую это на голом HC06.
  4. Кстати файл, который он мне прислал называется BlueSuite 2.5 for driver.zip.
  5. Продавец ответил. 2017-04-13 11:51 [support chip] BC2 series: BC215159A, BC213143A, BC213159, BC212015, etc. BC3 series: BC31A223, BC358239A, BC352239, etc. BC4 series: BC413159A06, BC417143B, BC419143A, etc. BC5 series: BC57F687, BC57E687, BC57H687C, BC57K687, etc. BC6 series: BC6110, BC6130, BC6145, BC6030, BC6031, BC6888, etc. BC7 series: BC7820, BC7830, etc. BC8 series: CSR8311, CSR8510, CSR8605, CSR8610, CSR8615, CSR8620, CSR8630, CSR8635, CSR8640, CSR8645, CSR8670, CSR8810, Such CSR8811 BLE series: CSR1000, CSR1001, CSR1010, CSR1011, CSR1012, etc. [Characteristics] Support for all CSR serial chips Support CVC online debugging Support the same computer at the same time to connect multiple usb-spi programmer Support all Bluetooth tools Supports all operating systems (XP, WIN7, WIN8) The latest seven bit device serial number, each device unique device ID, shell, software, device manager three yards consistent Продавец выслал мне BlueSuite 2.5, там есть опция при установке драйвера USB SPI.Если с этим работает то и c Bluelab4.1 будет аналогично работать. А другие SPI программаторы работать не будут, так как блюлаб не заточен под их драйвера.
  6. Согласен, что не поможет.Есть современное решение, если вы имели введу LPT https://ru.aliexpress.com/item/CSR-Bluetoot...7e-b22d526db131
  7. Программно управление потоком можно задействовать так: PioSetRts (True) //устанавливает лог 1 на контакте RTS, это говорит о готовности принимать данные, в противном случае виртуальная машина автоматически меняет лог на 0. PioGetCts () // активизирует Cts на прием, Виртуальная машина начинает реагировать на входящий сигнал.
  8. Почему бы вам просто не включить аппаратное управление потоками например изменив ключ "UART configuration when under VM control"(PSKEY_UART_CONFIG_USR), в PSTool , на 0x08a8 , в ваших HC05,06, проделать что то похожее на других микроконтроллерах, добавить пару лишних проводов и гарантированная передача данных без переполнения буферов готова. Если у вас нет LPT, то купите себе вот этот адаптер https://www.aliexpress.com/item-img/Wavesha...2728399302.html Поставьте себе вот этот драйвер https://github.com/lorf/csr-spi-ftdi, там и распиновка есть.
  9. Я тут учусь и пишу прошивку на эти модули, правда пока только Slave режим, хочу сделать возможность конфигурировать устройство по воздуху, например менять параметры UART, включать аппаратное управление потоками, менять имя, пинкод, изменять размер кадра при передачи по UART(7 бит, но пока сомневаюсь, что получится ).Вы хотите, чтобы пакет не превышал определенного размера?Могу попробовать реализовать это в своей прошивки, выложить на форуме.
  10. Думаю, что говорить о платках HC-05,06, как о китайских не совсем правильно на мой взгляд.По сути из китайского там только обвязка, текстолит и не большой кусочек кода микропрограммы.Посмотрел на дорогие модули bluegiga, там тот же чип от SCR, только обвязка другая и экран металлический,разочаровался.На самом деле не так страшен черт как его малюют и запрограммировать этот чип не так сложно.Весь процесс заключается в том, что нужно взять пример из Bluelab4.1(в инете пошарьте найдете), с которым платка будет полностью работать как готовое устройства реализуя профиль SPP, только не будет ни одной AT команды.Если сравнить HC-05,06 и другие например блюгига, то базовая прошивка там везде одинаковая, это предустановленная заводом изготовителя чипа и всем известная под именем linvor.Процесс программирования сводится к тому,что просто создаются свои AT команды, которые изменяют PSkey ключи из хранилища.Но такая микропрограмма необходима не во всех случаях.Можно абсолютно легально скачать Bluesuite с сайта SCR и с помощью PSTool изменить нужные ключи, которые будут заставлять работать чип так как Вам нужно, если конечно нет необходимости в динамическом изменении поведения работы чипа.В этой же программе есть кнопка, которая предоставляет описание на ключ.
  11. Вся передача внутри микроконтроллера основана на потоках.То есть например источником выступает UART, а приемником RFComm, два пути обмена данными, это прямое соединение, например что то в роде ConnectStreame(Источник,Приемник). В этом случае происходит не контролируемая передача, но при этом есть функции которые конфигурируют потоки, там вроде как можно указывать максимальную длину пакета и что то там еще.Я честно говоря совсем в другой области работаю, поэтому из за ненадобностью я плохо ориентируюсь в тонкостях.Есть еще и контролируемая передача, в которой можно проверять количество байт в источнике(я так понимаю это кольцевой буфер обмена) читать , что то делать с ними, а потом отправлять их в приемник или не отправлять, причем задача получает сообщения типа MORE_DATA,если в источник поступили байты и соответственно обработчик сообщений может выполнить обработку данных из него и дальнейшую передачу. Управление происходит по имени сообщения,которое передается в качестве аргумента обработчику.
  12. А есть, что нибудь по программированию bluecore микроконтроллеров?
  13. Долго искал способ как программно можно изменить ключ по глобальной нумерации PSkey, но так и не нашел.Видимо нельзя на прямую изменять эти данные, но смог поменять имя устройства.Используйте эту функцию: ConnectionChangeLocalName (8, (uint8 *) «My_Name»). Bluetooth начал определятся под именем My_Name, а имя локального устройства изменилось на linvor в PSTool. XAP5,6 c7920_um_002_v0.8.pdf asics_sb_017_v1.5.pdf asics_sb_012_v2.32.pdf
  14. Пере прошивать можно.Для реализации вашей задачи нужно создавать прошивку, но слава богу не с нуля.Качайте Bluelab 4.1, в месте с ним будет доступны примеры, интерактивная справка по структурам, функциям, перечислениям и.д. , через браузер. Там же и документация по программированию. По всей видимости на BC417 доступно только программирование на СИ, так как во всей документации я не нашел информации по MCU XAP, не смог найти и по ассемблеру, накопал только по XAP4,5,6, все что ниже как будто засекретили.В блюкор чипах уже с завода предустановлена прошивка.Программист имеет возможность создавать программу, которые взаимодействует с Виртуальной машиной и работает с уже встроенной прошивкой.Как я понял там несколько кольцевых буферов, все тонкости не знаю, сам учусь, в качестве любителя, но думаю размер буфера настроить можно.Отлаживать и запускать можно прям на Ваших платках, через SPI LPT.USB SPI для SCR bluecore продают китайцы на али.Есть решение на FTDI чипе, но у меня не вышло, так как я самостоятельно сделал платку, а чип оказался поддельный, мне кажется проще купить готовый USB to UART с FTDIRL.
  15. Подскажите кто нибудь, в названии модельного рядя 4 ,5 и 6 ,например Bluecore-4, Bluecore-5 , Bluecore-6 , берется из MCU XAP4,XAP5 и 6 соответственно. Подозрительное совпадение. Где можно почитать об этом?
  16. Нашел документацию по XAP4 процессору на https://www.cambridgeconsultants.com, в частности доступно руководство по программированию и datasheet. Руководство по программированию: asics_sb_011_v2.22.pdf asics_tm_002_v1.7.pdf asics_tm_002_v1.7.pdf c7432_um_002_v1.49.pdf
  17. Собственно создал тему, для обмена опытом по программированию bluecore чипов от SCR, на любом уровне. Прошу всех желающих задавать вопросы и по возможности отвечать на них.
  18. WT11

    Сам задал, сам и отвечу:перед отправкой используйте функцию MessageSinkTask (Sink, task) , в методе main () ,перед первым сообщением.
  19. WT11

    Здравствуйте boroda1983. Почему может не срабатывать сообщение типа MESSAGE_MORE_DATA при передачи текста в порт UART микроконтроллера BC417?Подозреваю, что нужно сконфигурировать источник. Пример кода который демонстрирует управляемую передачу в потоке, так сказать UART эхо. #include <panic.h> #include <stdio.h> #include <stream.h> #include <pio.h> #include <source.h> #include <string.h> #include <sink.h> #include <csrtypes.h> #include <connection.h> #include <message.h> #define VM_UART_(RATE) (uint16)((RATE*0.004096)+0.5) #define VM_UART_RATE_1K2 0x0005 #define VM_UART_RATE_1K2 0x0005 #define VM_UART_RATE_2K4 0x000a #define VM_UART_RATE_4K8 0x0014 #define VM_UART_RATE_76K8 0x013b #define VM_UART_RATE_1843K2 0x1d7e #define VM_UART_RATE_2764K8 0x2c3d #define LED1 0x01 /* bit 1 */ #define DELAY1 200 /* ms */ #define LED2 0x02 /* bit 2 */ #define DELAY2 100 /* ms */ static void led_controller1( Task t, MessageId id, Message payload ) { PioSet( LED1, (PioGet() ^ LED1) ); MessageSendLater( t, 0, 0, DELAY1 ); } static void led_controller2( Task t, MessageId id, Message payload ) { Source source= StreamUartSource(); uint16 length = SourceSize (source); if(MESSAGE_MORE_DATA==id ) { char *string; uint16 offset; uint8 *dest; Sink sink=StreamUartSink(); PanicNull(sink); string=(char *)SourceMap(source); /* Claim space in the sink, getting the offset to it */ offset = SinkClaim(sink, length); if(offset == 0xFFFF) Panic(); /* Space not available */ /* Map the sink into memory space */ dest = SinkMap(sink); (void) PanicNull(dest); /* Copy the string into the claimed space */ memcpy(dest+offset,SourceMap (source), length); /* Flush the data out to the uart */ PanicZero(SinkFlush(sink, length)); SourceDrop (source, length); } PioSet( LED2, (PioGet() ^ LED2) ); MessageSendLater( t, 0, 0, DELAY2 ); MessageHostCommsTask(t); MessagePioTask(t); MessageSystemTask(t); } static TaskData taskSPP1 ={led_controller1}; static TaskData taskSPP2 = {led_controller2}; int main(void) { PioSetDir(0xFF, 0xFF); /* Set all PIO to be output */ PioSet(0xFF, 0); /* Set all PIO off (0) */ MessageHostCommsTask(&taskSPP2); MessagePioTask(&taskSPP2); MessageSystemTask(&taskSPP2); MessageSend( &taskSPP1, 0 , 0 ); MessageSend( &taskSPP2, 0 , 0 ); MessageLoop(); return 0; }
  20. Вопрос по программированию bluecore чипов.Изучаю документацию по BlueLab и управление потоками.Установил SDK, подключил устройство, включил отладку Debuge, изменил пример spp_dev_b, убрав строки автоматического соединения потоков.Отправляю строку через источник rfcomm, генерируется сообщение SPP_MESSAGE_MORE_DATA, управление переходит в соответствующую ветку swith case, в этом блоке кода отправляю строку в приемник rfcomm, срабатывает SPP_MESSAGE_MORE_SPACE.Почему не генерируются эти сообщения, когда в качестве источника и приемника берется UART. Если включить Debug, то на вкладке Print Chanel 0 сыпятся сообщения, в которых есть значения theSppApp.spp_state и state, откуда они берутся, в какие возможные значения они могут иметь, и о чем они говорят, например state=0?
  21. Bluetooth

    ВЫ как нибудь продвинулись в данном вопросе?Меня интересует тот же вопрос, как организовать микросекундные задержки?Я пока только научился принимать команды по UART или блютус и реагировать на них, например включать светодиод.
  22. По всей видимости проблема в программаторе.У меня на Windows7 x64 не заработал.Поставил XP и все заработало, только нужно изменить нужные настройки LPT в биосе. Для проверки работы проще использовать PSTool из того же комплекта SDK.При правильной работе программатора можно просматривать ключи из хранилища. Не поделитесь Bluelab 6.1 ?
  23. Почему мало помогает?После установки BlueLab4.1 появляется каталог с файлами документации и интерактивной справкой по библиотекам API. Для доступа к ним можно ввести в браузере: C:\BlueLab41\doc\BlueLab Support Documentation\Support Docs Index.htm , C:\BlueLab41\doc\reference\html\index.html , C:\BlueLab41\doc\dsp\html\index.html .
  24. Подскажите пожалуйста, если в программу из примера spp_dev_a вставить строку config->port_params.data_bits =7; , в метод main() , будет ли это менять параметр передачи данных по проводу? Может, как то следует поступить иначе?Можно, ли смешать эту строку с уже готовой прошивкой?
  25. На HC-06, менял с помощью PSTool, ключ включающий работу CTS, RTS.
×
×
  • Создать...