Добрый день! Писал на cmsis, не работало, переписал на SPL - не работает опять. TX замкнул на RX, поэтому проблема только в коде. Функция отправки работает нормально, но виснет прием данных. Пытался сделать прерывания по RXNE флагу, также не работает. Подскажите, пожалуйста, что не так?
Дело не в том, что и где делалось. Важно что показывает отладчик в реальной работе. Ну и отсутствие чтения в обработчике гарантировано вешает прием с выставлением флага переполнения.
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
Извините, не очень понимаю, что должен показать отладчик. Ну, вот, не выставляется флаг/не вызывается прерывание. Вешал прерывание также на RXNE, если я правильно понимаю, если RXNE флага нету, то и прерывания тоже не будет
Отладчик должен показать ТРИ вещи. Наличие локального разрешения по ожидаемому флагу, наличие разрешения в NVIC и наличие самого ожидаемого флага. Вот и все. При наличии обоих разрешений и отсутствии флага - неверно мапирован пин приемника. То есть тупо нет входного сигнала на USARTе. При отсутствии любого из разрешений копайте код в месте ожидаемой инициализации этих разрешений.
Добавлено after 2 minutes 15 seconds: Re: Не выставляется RXNE флаг и не работают прерывания в USART ЗЫ. Недостаток SPL в неявной инициализации. Думаете, что все сделали, а на самом деле... )))
Ну, справедливости ради, я писал на cmsis, просто решил попытаться, авось заработает) Спасибо большое за наводки, завтра буду пробовать разбираться вновь
Ну, вот, не выставляется флаг/не вызывается прерывание. Вешал прерывание также на RXNE, если я правильно понимаю, если RXNE флага нету, то
обработчик прерывания должен обрабатывать также флаг ORE, причем он проверяется в первую очередь. в свое время тоже долго возлся с отладкой разбираясь как там все работает. ставите бряк на обработчик и запускаете трасировку.
Блин, мужики, я фееричный болван) Функцию инициализации (та, что первая) тупо забыл вызвать Сижу еще, думаю... Всем спасибо за ответы, а мне нужно быть чуточку внимательнее. Вопрос решен
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения