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

Кто виноват и что делать?

Добрый день.

У меня есть плата с Bluetooth модулем от Mitsumi WML-C40 со встроенным UARTом. В ПК торчит другой Bluetooth. Для отладки подключаю WML к компу через встроенный в нем UART и посылаю в него через терминал цепочку символов.WML принимает данные и автоматически отправляет их в Bluetooth ПК.На другом терминале смотрю,что принял Bluetooth ПК и ...

НЕ доходят несколько начальных символов цепочки!!! А остальное отображается как надо.

 

ПК терминал1 -> WML UART_RX -> WML Bluetooth -> ПК Bluetooth -> ПК терминал2 - теряет символы

ПК терминал2 -> ПК Bluetooth -> WML Bluetooth -> WML UART_TX -> ПК терминал1 - не теряет символы

 

Как я понимаю, вот так должно работать

 
(void) StreamConnect(StreamUartSource(), ((SPP_CONNECT_CFM_T*)message)->sink);
(void) StreamConnect(StreamSourceFromSink(((SPP_CONNECT_CFM_T*)message)->sink), StreamUartSink());

 

Но не работает!

 

Так в чем может быть дело? Кто нибудь сталкивался с такой проблемой? Это баг BlueLab или всё же что-то с WML-C40? Или я что-то не дописал?

 

Заранее благодарю за любые идеи и помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ура-а-а! Победа! :biggrin:

Всему виной 2 бага:

1. В BlueLab 3.2 B-11639 When using the raw transport, it was possible for a burst of data arriving on the

UART to be ignored if it had a particular timing and no further data was ever

received. This no longer occurs. Поставил BlueLab 3.5.2

2. Я пользовался терминалом TereTerm. Он теряет символы. Виндовским терминалом всё без проблем.

 

Так что вопрос закрыт

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ура-а-а! Победа! :biggrin:

Всему виной 2 бага:

1. В BlueLab 3.2 B-11639 When using the raw transport, it was possible for a burst of data arriving on the

UART to be ignored if it had a particular timing and no further data was ever

received. This no longer occurs. Поставил BlueLab 3.5.2

2. Я пользовался терминалом TereTerm. Он теряет символы. Виндовским терминалом всё без проблем.

 

Так что вопрос закрыт

 

Приветствую! Реализовал SPP на BlueLab 2.8 шил WML-20 а потом WML-30 все нормально, сейчас привезли WML-40 и вот он отказывается шиться blueflash'ом. Может кто знает в чем дело ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ура-а-а! Победа! :biggrin:

Всему виной 2 бага:

1. В BlueLab 3.2 B-11639 When using the raw transport, it was possible for a burst of data arriving on the

UART to be ignored if it had a particular timing and no further data was ever

received. This no longer occurs. Поставил BlueLab 3.5.2

2. Я пользовался терминалом TereTerm. Он теряет символы. Виндовским терминалом всё без проблем.

 

Так что вопрос закрыт

 

Приветствую! Реализовал SPP на BlueLab 2.8 шил WML-20 а потом WML-30 все нормально, сейчас привезли WML-40 и вот он отказывается шиться blueflash'ом. Может кто знает в чем дело ?

 

Reset там вообще не нужен, оторви от шлейфа его :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Reset там вообще не нужен, оторви от шлейфа его :)

 

Т.е. дело не в BlueLab'e ?

 

Я думаю, что да. Я прошивал WML-C40 загнув ножку Reset на шлейфе <=> Reset в WML ни к чему не подключен. Попробуй, должно получиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Я думаю, что да. Я прошивал WML-C40 загнув ножку Reset на шлейфе <=> Reset в WML ни к чему не подключен. Попробуй, должно получиться.

 

Спасибо! Действительно запрограммировал, правда потом модуль не запустился. Сейчас завален работой буду разбираться позже, огромное спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Я думаю, что да. Я прошивал WML-C40 загнув ножку Reset на шлейфе <=> Reset в WML ни к чему не подключен. Попробуй, должно получиться.

 

Спасибо! Действительно запрограммировал, правда потом модуль не запустился. Сейчас завален работой буду разбираться позже, огромное спасибо.

 

Модуль не запускается, когда включена отладка с выводом каких-либо значений на терминал BlueLab, если,конечно, нет ошибок в самой программе.Т.е.когда используется в программе printf, то модуль будет работать только через BlueLab, а отдельно не будет. Сам с этим просидел приличное время, не понимая что не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модуль не запускается, когда включена отладка с выводом каких-либо значений на терминал BlueLab, если,конечно, нет ошибок в самой программе.Т.е.когда используется в программе printf, то модуль будет работать только через BlueLab, а отдельно не будет. Сам с этим просидел приличное время, не понимая что не работает.

Для этих целей CSR придумал BCSP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модуль не запускается, когда включена отладка с выводом каких-либо значений на терминал BlueLab, если,конечно, нет ошибок в самой программе.Т.е.когда используется в программе printf, то модуль будет работать только через BlueLab, а отдельно не будет. Сам с этим просидел приличное время, не понимая что не работает.

Для этих целей CSR придумал BCSP

Для каких этих целей? И у меня модуль NH - поддерживается только H4 UART. Не понил :blink:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для каких этих целей? И у меня модуль NH - поддерживается только H4 UART. Не понил :blink:

Есть такой набор утилит BlueSuite от CSR. Используя программку PSTool.exe нажно поменять ключ PSKEY_HOST_TRANSPORT на "UART running over BCSP"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть такой набор утилит BlueSuite от CSR. Используя программку PSTool.exe нажно поменять ключ PSKEY_HOST_TRANSPORT на "UART running over BCSP"

А почему,если этот ключ не установлен в "UART running over BCSP" и я использую printf, из-за этого не должен запускаться модуль? Данные у меня raw, vm access to UART. T.e. по UART_TX, UART_RX я принимаю и отправляю сырые данные и мне это и нужно.

PSKEY_HOST_TRANSPORT - Этот ключ нужен, чтобы данные, передаваемые по SPI_MISO и SPI_MOSI, передавались используя протокол BCSP, а на UART_RX TX это не отразится и модуль будет работать без BlueLab? Так что ли ? Что-то я не понял. Или мы говорим про разные вещи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему,если этот ключ не установлен в "UART running over BCSP" и я использую printf, из-за этого не должен запускаться модуль? Данные у меня raw, vm access to UART. T.e. по UART_TX, UART_RX я принимаю и отправляю сырые данные и мне это и нужно.

PSKEY_HOST_TRANSPORT - Этот ключ нужен, чтобы данные, передаваемые по SPI_MISO и SPI_MOSI, передавались используя протокол BCSP, а на UART_RX TX это не отразится и модуль будет работать без BlueLab? Так что ли ? Что-то я не понял. Или мы говорим про разные вещи?

BlueLab applications have access to 16 channels for debug output (numbered 0 through 15.) They can output diagnostic messages to these using several functions:

 

* printf and putchar from the standard library.

* cprintf, also from the standard library.

* VmPutChar, as described in the vm library.

* PRINT and CPRINT from the print library.

 

printf and putchar always use channel 0, while cprintf takes the channel number as its first argument. All of these routines eventually call VmPutChar which sends a single character to a designated debug channel. Channels can be selectively disabled using the VmPutCharControl function from the vm library.

 

When running under the debugger these channels are displayed in the Output and Stream tabs at the bottom of the main window. When running on-chip they are sent through a reserved part of BCSP channel 13 (which does not conflict with the host library) and can be displayed using an application like vmSpy.

 

Note: An application running on-chip which uses the debug channels will be stopped until a suitable host application is running.

 

Because of this we recommend that debug diagnostics should be removed from all shipping versions of BlueLab applications. The easiest way of ensuring this is to produce diagnostics using only the macros defined in the print library since these are controlled by the DEBUG_PRINT_ENABLED macro.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну теперь всё ясно. Спасибо. А ты не мог бы выложить документ, где это написано или ссылку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...