-
- Поскольку вопрос был о кварце, то могу предположить, что вы инициализируете модуль тактирования некорректно или не так, как рекомендуется в User's Guide. Впрочем не стоит расстраиваться, это одна из типовых ошибок начинающих ;) rezident(332 знак., 29.10.2011 23:14, ссылка)
- rezident, спасибо! Дело было в кварце, видимо перегрел при пайке. Сейчас выставил скорость для DCO и связь наладилась. Но вот теперь не могу добиться передачи данных по UART при приёме по прерыванию. Вот код, в основном взятый из примера:// USCI Механик08(658 знак., 31.10.2011 15:06, )
- Чтобы пользоваться всеми возможностями форума и постить исходники в читабельном виде нужно зарегистрироваться. Это недолго и совсем не трудно. - rezident(31.10.2011 15:22)
- Да, действительно нечитаемо, простите. Итак код: Механик08(1099 знак., 31.10.2011 18:46)
- Видимо вновь требуется художественное цитирование User's Guide :) rezident(2764 знак., 31.10.2011 19:32)
- Передача так и не получается. Думаю, что нет передачи из-за перекрытия приоритета прерывания передачи приоритетом на приём. Как это исправить? Сброс бита прерывания на приём в теле обработчика прерывания приёмника ни к чему не привёл. В остальном Механик08(581 знак., 01.11.2011 13:35)
- Давайте код инициализации USCI и портов. В качестве приемника что у вас? ПК? Преобразователь TTLV->RS232 или какой-нибудь мост USB используется? - rezident(01.11.2011 16:37)
- Вот полный текст программы: Механик08(3184 знак., 02.11.2011 09:47)
- Прошу пояснений. У вас все-таки используется внешний кварц 7,3728МГц или вы планируете работать от DCO, настроенный на 8МГц? Если внешний кварц, то почему функция настройки в прерывании по вектору NMI вызывается только один раз при старте rezident(1636 знак., 02.11.2011 11:37)
- Я хочу использовать внешний кварц 7,3728МГц, но если с ним что-то случится, то переключиться на DCO, так сказать в аварийном режиме. Как организовать калибровку в этом случае пока не знаю. С инициализацией BCSCTL3 после проверки ошибки LFXT1OF, Вы Механик08(1630 знак., 02.11.2011 12:13)
- А какой смысл использовать кварц, если он работает только до первого сбоя? О_о Или делайте обработку каждого сбоя, реинициализируя систему тактирования в прерывании, или вообще откажитесь от использования ВЧ-кварца, при необходимости калибруя DCO rezident(899 знак., 02.11.2011 12:35)
- Спасибо за совет! Подумаю над этим. Только это усложняет задачу. Пусть будет пока ВЧ-кварц. Но передачи UART так и не получается. А задача казалась простой: принять 5 байт по прерыванию, обработать, послать ответ... - Механик08(02.11.2011 13:10)
- Проблему я вижу пока в том, что скорее всего радиомодуль не может очень быстро переключаться с приема на передачу. У вас ведь в программе никакой задержки нет. Только приняли нужный байт и тут же шлете ответ. Поэтому в таких случаях (начало rezident(109 знак., 02.11.2011 13:24)
- Ура! Спасибо, rezident! Поставил большую задержку и ответ от МК есть! Механик08(228 знак., 03.11.2011 09:09)
- Я конечно извиняюсь за такое предложение, но вы документацию на свои радиомодули читать не пробовали? ;) rezident(577 знак., 03.11.2011 13:44 - 13:46, ссылка)
- :) Спасибо ещё раз! Удачи! - Механик08(03.11.2011 14:06)
- Я конечно извиняюсь за такое предложение, но вы документацию на свои радиомодули читать не пробовали? ;) rezident(577 знак., 03.11.2011 13:44 - 13:46, ссылка)
- Ура! Спасибо, rezident! Поставил большую задержку и ответ от МК есть! Механик08(228 знак., 03.11.2011 09:09)
- Проблему я вижу пока в том, что скорее всего радиомодуль не может очень быстро переключаться с приема на передачу. У вас ведь в программе никакой задержки нет. Только приняли нужный байт и тут же шлете ответ. Поэтому в таких случаях (начало rezident(109 знак., 02.11.2011 13:24)
- Спасибо за совет! Подумаю над этим. Только это усложняет задачу. Пусть будет пока ВЧ-кварц. Но передачи UART так и не получается. А задача казалась простой: принять 5 байт по прерыванию, обработать, послать ответ... - Механик08(02.11.2011 13:10)
- А какой смысл использовать кварц, если он работает только до первого сбоя? О_о Или делайте обработку каждого сбоя, реинициализируя систему тактирования в прерывании, или вообще откажитесь от использования ВЧ-кварца, при необходимости калибруя DCO rezident(899 знак., 02.11.2011 12:35)
- Я хочу использовать внешний кварц 7,3728МГц, но если с ним что-то случится, то переключиться на DCO, так сказать в аварийном режиме. Как организовать калибровку в этом случае пока не знаю. С инициализацией BCSCTL3 после проверки ошибки LFXT1OF, Вы Механик08(1630 знак., 02.11.2011 12:13)
- Прошу пояснений. У вас все-таки используется внешний кварц 7,3728МГц или вы планируете работать от DCO, настроенный на 8МГц? Если внешний кварц, то почему функция настройки в прерывании по вектору NMI вызывается только один раз при старте rezident(1636 знак., 02.11.2011 11:37)
- Вот полный текст программы: Механик08(3184 знак., 02.11.2011 09:47)
- Давайте код инициализации USCI и портов. В качестве приемника что у вас? ПК? Преобразователь TTLV->RS232 или какой-нибудь мост USB используется? - rezident(01.11.2011 16:37)
- Ссылка на русскоязычный перевод одной из ревизий (Rev.E скорее всего) MSP430x2xx Family User's Guide. Сразу предупреждаю - в переводе имеются ошибки! Так что читать следует аккуратно, сверяясь с оригиналом. Данный перевод может служить для rezident(129 знак., 31.10.2011 19:43, ссылка, ссылка)
- Передача так и не получается. Думаю, что нет передачи из-за перекрытия приоритета прерывания передачи приоритетом на приём. Как это исправить? Сброс бита прерывания на приём в теле обработчика прерывания приёмника ни к чему не привёл. В остальном Механик08(581 знак., 01.11.2011 13:35)
- Видимо вновь требуется художественное цитирование User's Guide :) rezident(2764 знак., 31.10.2011 19:32)
- Да, действительно нечитаемо, простите. Итак код: Механик08(1099 знак., 31.10.2011 18:46)
- Чтобы пользоваться всеми возможностями форума и постить исходники в читабельном виде нужно зарегистрироваться. Это недолго и совсем не трудно. - rezident(31.10.2011 15:22)
- rezident, спасибо! Дело было в кварце, видимо перегрел при пайке. Сейчас выставил скорость для DCO и связь наладилась. Но вот теперь не могу добиться передачи данных по UART при приёме по прерыванию. Вот код, в основном взятый из примера:// USCI Механик08(658 знак., 31.10.2011 15:06, )
- Поскольку вопрос был о кварце, то могу предположить, что вы инициализируете модуль тактирования некорректно или не так, как рекомендуется в User's Guide. Впрочем не стоит расстраиваться, это одна из типовых ошибок начинающих ;) rezident(332 знак., 29.10.2011 23:14, ссылка)