jcxz 224 5 часов назад Опубликовано 5 часов назад · Жалоба 20 минут назад, Arlleex сказал: Посмотрите - он установлен. Я писал для общего случая. PS: Совсем не обязательно, что у ТС-а при каждом fault-е одна и та же картина в регистрах причины fault. И вполне возможно (и судя по всему так оно и есть), что багов там несколько. И возможно они вызывают разные fault-ы. 7 минут назад, dimka76 сказал: Не совсем. Сначала статус регистр надо прочитать, а потом регистр данных. Тогда сбросятся. Вроде как очевидно, что раз мы знаем, что соответствующий флаг стоит (который нужно сбросить), то как мы об этом узнали (что он стоит)? Очевидно - что уже ранее прочитали регистр статуса. А значит теперь для его сброса нужно только чтение слова данных. Нестоящий флаг сбрасывать нельзя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
firstvald 23 5 часов назад Опубликовано 5 часов назад · Жалоба 4 minutes ago, jcxz said: В мануале написано то, что я сказал. Это вам надо "см. мануал". вам лучше быть повнимательнее иначе в работе будет много интересного. это банально от 31 процессора. в разных семействах по -разному. но это уже удивительная совместимость stm ов 23 minutes ago, jcxz said: В мануале написано то, что я сказал. Это вам надо "см. мануал". вы сказали глупость и сейчас будут маневры что вас не так поняли 24 minutes ago, dimka76 said: Не совсем. Сначала статус регистр надо прочитать, а потом регистр данных. Тогда сбросятся. в разных семействах по - разному Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 59 5 часов назад Опубликовано 5 часов назад · Жалоба On 8/13/2024 at 9:48 PM, firstvald said: это банально от 31 процессора Так здесь тема про F100 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 5 часов назад Опубликовано 5 часов назад · Жалоба 1 hour ago, firstvald said: и то я тоже не ждал подляны но FE у меня подвесил прибор который ушел в релиз. хотя вроде бы лишнее не было включено Странно это. В стандартном STM-овском UART прерывание по FrameError включается флажком ErrorInterruptEnable и только в режиме DMA. Ну то есть лишнее было-таки включено Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
firstvald 23 5 часов назад Опубликовано 5 часов назад · Жалоба 18 minutes ago, dimka76 said: Так здесь тема про F100 так упомянули все современные процессоры. и из за того что в разных stm это место сделано по разному каждый раз внимательно читать и разбираться. 18 minutes ago, esaulenka said: Странно это. В стандартном STM-овском UART прерывание по FrameError включается флажком ErrorInterruptEnable и только в режиме DMA. Ну то есть лишнее было-таки включено куб мог навтыкать. и хотя я специально ничего лишнего не включаю, в прерывании ставлю анализ и сброс всех флагов. это можно удивляться сколько угодно, но на практике могут возникать фокусы которые попробуй поймай, воспроизведи и пойми почему. стандартный это какой. у меня в работе проекты на 031 103 476 429 процессоры. уарты практически всегда отличаются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 164 5 часов назад Опубликовано 5 часов назад · Жалоба 15 минут назад, esaulenka сказал: Странно это. В стандартном STM-овском UART прерывание по FrameError включается флажком ErrorInterruptEnable и только в режиме DMA. Ну то есть лишнее было-таки включено Это потому, что в режиме приема по прерываниям прерывания по ошибкам бесполезны - т.к. они определяются чтением регистра статуса, совместно с флагом RXNE. А в режиме DMA процессор не дергается на каждый байт, поэтому таким образом настраивается "ловушка" на различного вида ошибки. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться