Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кто виноват и что делать?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Wireless/Optic
LessNik
Добрый день.
У меня есть плата с 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? Или я что-то не дописал?

Заранее благодарю за любые идеи и помощь.
LessNik
Ура-а-а! Победа! biggrin.gif
Всему виной 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. Он теряет символы. Виндовским терминалом всё без проблем.

Так что вопрос закрыт
_Bob_
Цитата(LessNik @ Oct 27 2006, 17:26) *
Ура-а-а! Победа! biggrin.gif
Всему виной 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'ом. Может кто знает в чем дело ?
vladec
Возможно у него Reset имеет другую полярность.
LessNik
Цитата(_Bob_ @ Oct 31 2006, 08:47) *
Цитата(LessNik @ Oct 27 2006, 17:26) *

Ура-а-а! Победа! biggrin.gif
Всему виной 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 там вообще не нужен, оторви от шлейфа его smile.gif
_Bob_
Цитата
Reset там вообще не нужен, оторви от шлейфа его smile.gif


Т.е. дело не в BlueLab'e ?
LessNik
Цитата(_Bob_ @ Nov 1 2006, 11:33) *
Цитата


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


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


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

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

Спасибо! Действительно запрограммировал, правда потом модуль не запустился. Сейчас завален работой буду разбираться позже, огромное спасибо.
LessNik
[quote name='_Bob_' date='Nov 2 2006, 12:08' post='171569']
[/quote]

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

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

Модуль не запускается, когда включена отладка с выводом каких-либо значений на терминал BlueLab, если,конечно, нет ошибок в самой программе.Т.е.когда используется в программе printf, то модуль будет работать только через BlueLab, а отдельно не будет. Сам с этим просидел приличное время, не понимая что не работает.
boroda1983
Цитата(LessNik @ Nov 2 2006, 16:41) *
Модуль не запускается, когда включена отладка с выводом каких-либо значений на терминал BlueLab, если,конечно, нет ошибок в самой программе.Т.е.когда используется в программе printf, то модуль будет работать только через BlueLab, а отдельно не будет. Сам с этим просидел приличное время, не понимая что не работает.

Для этих целей CSR придумал BCSP
LessNik
Цитата(boroda1983 @ Nov 7 2006, 20:52) *
Цитата(LessNik @ Nov 2 2006, 16:41) *

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

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

Для каких этих целей? И у меня модуль NH - поддерживается только H4 UART. Не понил blink.gif
boroda1983
Цитата(LessNik @ Nov 8 2006, 10:18) *
Для каких этих целей? И у меня модуль NH - поддерживается только H4 UART. Не понил blink.gif

Есть такой набор утилит BlueSuite от CSR. Используя программку PSTool.exe нажно поменять ключ PSKEY_HOST_TRANSPORT на "UART running over BCSP"
LessNik
[/quote]
Есть такой набор утилит BlueSuite от CSR. Используя программку PSTool.exe нажно поменять ключ PSKEY_HOST_TRANSPORT на "UART running over BCSP"
[/quote]
А почему,если этот ключ не установлен в "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? Так что ли ? Что-то я не понял. Или мы говорим про разные вещи?
boroda1983
Цитата(LessNik @ Nov 9 2006, 18:16) *
А почему,если этот ключ не установлен в "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.
LessNik
Ну теперь всё ясно. Спасибо. А ты не мог бы выложить документ, где это написано или ссылку?
boroda1983
Цитата(LessNik @ Nov 10 2006, 16:56) *
Ну теперь всё ясно. Спасибо. А ты не мог бы выложить документ, где это написано или ссылку?

С документацией у CSR прямо скажем хреновато. Более менее подробное описание базовых библиотек есть в Bluelab 2.8. Он вроде бы был в сети. Тот которым я пользуюсь, лицензионный, по понятным причинам выкладывать не буду.
LessNik
Цитата(boroda1983 @ Nov 13 2006, 11:25) *
Цитата(LessNik @ Nov 10 2006, 16:56) *

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

С документацией у CSR прямо скажем хреновато. Более менее подробное описание базовых библиотек есть в Bluelab 2.8. Он вроде бы был в сети. Тот которым я пользуюсь, лицензионный, по понятным причинам выкладывать не буду.


У меня BlueLab 3.5.2, там я не нашёл. Но может быть плохо смотрел. Спасибо, может найду где нибудь, если срочно понадобится. Сейчас уже этим не занимаюсь, закончил и отправили в производство.
Ivan79
Раньше пользовался Bluelab 2.8, сейчас першел на BlueLab 3.5.2. В 3.5.2 документация практически отсутствует. Посоветуйте где ее можно найти.
LessNik
Возникла очередная проблема:
Пришла новая партия модулей WML-C40 и на тебе... Прежняя прошивка, которую написал месяцев 8 назад, не работает на новой партии модулей. Причём как-то странно не работает:
Устройство не может быть обнаруженным, хотя программа не зависает, сбоя VM не происходит;
Но если использовать дебаггер и точки останова, то периодически вылезает сообщение "Chip was reset, possibly following a firmware panic". Ничего не понимаю 07.gif
Никто с таким не сталкивался? Может партия бракованная?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.