Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 30.07.2008, 17:25   #1
ROGALIK
Senior Member
 
Аватар для ROGALIK
 
Регистрация: 27.08.2007
Возраст: 57
Сообщений: 179
Вес репутации: 321/50
ROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the rough
Question Проблемы с прерываниями от UART PIC24HJ128GP510.

Привет всем!
Столкнулся с необъяснимой проблемой. При работе двух устройств по каналу связи через UART1 и UART2, выполненных на PIC24HJ128GP510, внезапно прекращается связь. При более тщательном исследовании одного из устройств (с помощью осцилла и отладчика ICD2) было обнаружено, что такая ситуация появляется при одновременном приёме-передаче (всего-то 8-мь байт) одним UARTом. Т.е. UART может передать 1-н, 2-а, 3-и ... байт, принять какое-то число байт и в какой-то момент "замолчать" навечно. При этом контроллер не "вешается", работает в нормальном цикле, но не грузятся буферные регистры передатчиков U1TXREG и U2TXREG, естественно, поэтому флаг на прерывание не устанавливается и передача отсутствует. Как выяснилось, происходит это из-за того, что какая-то "нечистая сила" сбрасывает бит "UTXEN" (Transmit Enable bit) в обоих регистрах UxSTA. В "MPLAB SIM" программа работает как часы. Бит "UTXEN" устанавливается один единственный раз в начале программы и по ходу нигде не сбрасывается. Приоритеты прерываний у RX и TX одинаковы. Искал в ERRATA ошибки по UART, но, увы, ничего не нашёл . Может, кто сталкивался с такой загадкой? Как это можно обойти? Заранее благодарен за ответ.
С уважением, ROGALIK .
ROGALIK вне форума   Ответить с цитированием
Старый 30.07.2008, 19:14   #2
Alex B.
Super Moderator
 
Аватар для Alex B.
 
Регистрация: 25.02.2007
Адрес: Russia, SPb
Сообщений: 1,674
Вес репутации: 1729/81
Alex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant future
Отправить сообщение для Alex B. с помощью Skype™
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

скорей всего буфер приемника переполняется. При этом устанавливается флаг OERR в регистре UxSTA и флаг прерывания UxERR.
__________________
даташит читать до того , а не после
Alex B. вне форума   Ответить с цитированием
Старый 03.08.2008, 11:43   #3
ROGALIK
Senior Member
 
Аватар для ROGALIK
 
Регистрация: 27.08.2007
Возраст: 57
Сообщений: 179
Вес репутации: 321/50
ROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the rough
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

Спасибо ув. AlexB. за добрый совет! Увы, проверял это до того и проверил ещё раз, но …

… Ох и тяжела была битва с этим «нечистиком», этой «гадиной-зловрединой», целый день бился добрый молодец с ней, а потом плюнул на неё смачно и пошёл в обход по болотам за тридевять земель к своему счастью …


А обход был таким (на карте (т.е. DATASHEETи ERRATA)) он был нигде не отмечен , т.е. пошёл своим путём ) : в фрагмент программы восстановления регистров после прерывания вставил команды установки этих трепроклятых битов для каждого UART. И всё …

… Эх и пир был потом! Мёд пил, водку пил, пиво пил. По усам текло, а в рот … всё попало . Хотел мне царь дочку свою всучить в жёны (царевну), но отказался я наотрез. Вот если б он мне предложил мешок (из под картошки) PICов, то ДА !!! А то царевну … , тьфу! Стар я стал такой фигнёй заниматься !
ROGALIK вне форума   Ответить с цитированием
Старый 03.08.2008, 12:30   #4
Alex B.
Super Moderator
 
Аватар для Alex B.
 
Регистрация: 25.02.2007
Адрес: Russia, SPb
Сообщений: 1,674
Вес репутации: 1729/81
Alex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant future
Отправить сообщение для Alex B. с помощью Skype™
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

значит чего-то не так делаешь. Все там работает нормально без всяких обходов
__________________
даташит читать до того , а не после
Alex B. вне форума   Ответить с цитированием
Старый 04.08.2008, 21:19   #5
ROGALIK
Senior Member
 
Аватар для ROGALIK
 
Регистрация: 27.08.2007
Возраст: 57
Сообщений: 179
Вес репутации: 321/50
ROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the rough
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

Проверял всё и не единожды, но биты всё равно сбрасываются вопреки всякому здравому DATASHEET! Похоже, это ошибка в самом контроллере, ещё не обнаруженная произволителем .
ROGALIK вне форума   Ответить с цитированием
Старый 04.08.2008, 23:58   #6
Alex B.
Super Moderator
 
Аватар для Alex B.
 
Регистрация: 25.02.2007
Адрес: Russia, SPb
Сообщений: 1,674
Вес репутации: 1729/81
Alex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant future
Отправить сообщение для Alex B. с помощью Skype™
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

в таких случаях порядочные разработчики оставляют тикет на
support.microchip.com
__________________
даташит читать до того , а не после
Alex B. вне форума   Ответить с цитированием
Старый 05.08.2008, 00:45   #7
bzx
Senior Member
 
Аватар для bzx
 
Регистрация: 25.02.2007
Адрес: St. Petersburg
Возраст: 46
Сообщений: 507
Вес репутации: 1159/64
bzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud of
Отправить сообщение для bzx с помощью ICQ Отправить сообщение для bzx с помощью Skype™
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

А в коде есть строки тапа
Код:
UxSTA = ...
или
UxSTA &= ...
?
bzx вне форума   Ответить с цитированием
Старый 06.08.2008, 21:18   #8
ROGALIK
Senior Member
 
Аватар для ROGALIK
 
Регистрация: 27.08.2007
Возраст: 57
Сообщений: 179
Вес репутации: 321/50
ROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the rough
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

Цитата:
Сообщение от Alex B. Посмотреть сообщение
в таких случаях порядочные разработчики оставляют тикет на
support.microchip.com
Как это сделать? Если можно, подробнее, уж очень хочется стать порядочным.
ROGALIK вне форума   Ответить с цитированием
Старый 06.08.2008, 21:19   #9
ROGALIK
Senior Member
 
Аватар для ROGALIK
 
Регистрация: 27.08.2007
Возраст: 57
Сообщений: 179
Вес репутации: 321/50
ROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the roughROGALIK is a jewel in the rough
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

Цитата:
Сообщение от bzx Посмотреть сообщение
А в коде есть строки тапа
Код:
UxSTA = ...
или
UxSTA &= ...
?
Пишу на ASM, а в иностранных языках, типа СИ, к сожалению, понимаю только со словарём . Что имелось в виду?
ROGALIK вне форума   Ответить с цитированием
Старый 06.08.2008, 21:26   #10
M.Bedder
Banned
 
Регистрация: 27.06.2008
Адрес: Москва, Зеленоград
Сообщений: 6
Вес репутации: 119/0
M.Bedder will become famous soon enoughM.Bedder will become famous soon enough
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

Давай сюда весь код (не забудь про теги [cоde] и [/cоde] или соответствующую кнопку редактора сообщения) - будем разбираться
M.Bedder вне форума   Ответить с цитированием
Старый 06.08.2008, 22:12   #11
urry
Senior Member
 
Аватар для urry
 
Регистрация: 11.10.2007
Возраст: 57
Сообщений: 462
Вес репутации: 228/52
urry has a spectacular aura abouturry has a spectacular aura abouturry has a spectacular aura about
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

Ух ты... Разбанили ?
urry вне форума   Ответить с цитированием
Старый 06.08.2008, 22:22   #12
M.Bedder
Banned
 
Регистрация: 27.06.2008
Адрес: Москва, Зеленоград
Сообщений: 6
Вес репутации: 119/0
M.Bedder will become famous soon enoughM.Bedder will become famous soon enough
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

Нет, просто сняли блок по IP - зарегистрировался с точкой
M.Bedder вне форума   Ответить с цитированием
Старый 06.08.2008, 23:01   #13
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,936
Вес репутации: 5757/174
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Ответ: Проблемы с прерываниями от UART PIC24HJ128GP510.

Цитата:
Сообщение от ROGALIK Посмотреть сообщение
Как это сделать? Если можно, подробнее, уж очень хочется стать порядочным.
зайти на указанный сайт и заполнить форму
Greg вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
UART PIC24FJ64GA004 - проблемы Alexey Belodvortsev Продукция MICROCHIP 25 02.04.2008 17:39
программный UART в microC alexaf Продукция MICROCHIP 4 28.12.2007 16:26
PIC18F4520 проблемы с UART-ом AlHakim Продукция MICROCHIP 4 30.10.2007 07:31
Программная симуляция pic16F876 в MPLAB Timik Продукция MICROCHIP 2 12.10.2007 15:12


Часовой пояс GMT +3, время: 17:59.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot