-
- Перед началом передачи включил передатчик. После записи последнего байта в UART включил прерывание TransmitionComplete. В этом прерывании отключил передатчик. - Ale3000(13.09.2018 12:26)
- Три способа навскидку: evgeniy1294(568 знак., 12.09.2018 11:03 - 11:12)
- Флаг txe подразумевает, что можно положить новые данные в дата-регистр, а не то, что передача на самом деле завершена - lloyd(12.09.2018 11:15)
- Этого достаточно. Если не секрет, как в USART пишите? evgeniy1294(159 знак., 12.09.2018 11:20)
- Я не ТС, мне самому не понять страстей по этой проблеме. При работе с STM32 я обычно работал через DMA, но необходимости в управлении потоком не возникало. - lloyd(12.09.2018 11:22)
- У меня есть рабочий класс SerialPort, внутри класса реализовано, в том числе, простое управление потоком. Наружу торчит 3 функции: write, read и isBusy. Работает как часы. evgeniy1294(119 знак., 12.09.2018 11:29)
- А надо было сделать open/close/read/write/ioctl/poll, и у вас получился бы POSIX - lloyd(12.09.2018 11:37)
- У меня работа с сетью так сделана) - evgeniy1294(12.09.2018 11:39)
- А надо было сделать open/close/read/write/ioctl/poll, и у вас получился бы POSIX - lloyd(12.09.2018 11:37)
- У меня есть рабочий класс SerialPort, внутри класса реализовано, в том числе, простое управление потоком. Наружу торчит 3 функции: write, read и isBusy. Работает как часы. evgeniy1294(119 знак., 12.09.2018 11:29)
- Я не ТС, мне самому не понять страстей по этой проблеме. При работе с STM32 я обычно работал через DMA, но необходимости в управлении потоком не возникало. - lloyd(12.09.2018 11:22)
- Этого достаточно. Если не секрет, как в USART пишите? evgeniy1294(159 знак., 12.09.2018 11:20)
- Флаг txe подразумевает, что можно положить новые данные в дата-регистр, а не то, что передача на самом деле завершена - lloyd(12.09.2018 11:15)
- Это для 485? vesago(3094 знак., 12.09.2018 10:24 - 10:26)
- У меня не 485 а нечто вроде. Передатчик включаю вручную перед началом передачи. Выключаю то же вручную в прерывании по завершению передачи последнего байта - Сидоргек(11.09.2018 16:34)
- TC (transmission complete), не? - SciFi(11.09.2018 11:41)
- Это флаг кончала. А мне нужен флаг начала. Тот самый флаг который управляет 485 драйвером - IBAH(11.09.2018 11:46)
- Меня твоя непонимай. Притянул рукой ногу драйвера, дунул в уарт, словил прерывание по ТС, отпустил ногу в прерывании. Или у вас требования к времянкам такие, что надо со стартбитом драйвер включать? - Звероящер(13.09.2018 05:24)
- Скорее это полное отсутствие требований :) - VLLV(13.09.2018 12:24)
- Лайфхак2: завести RS485-трансивер с автоматическим управлением направления передачи - lloyd(11.09.2018 17:13)
- У стээма уже есть автоматическое управление направлением передачи, но эти пиндосы не догадались завести флаг состояния в регистр. Ну тупые(с) - IBAH(11.09.2018 18:25)
- Так читайте вручную GPIO, вам этого не хватит? - lloyd(11.09.2018 18:29)
- У стээма уже есть автоматическое управление направлением передачи, но эти пиндосы не догадались завести флаг состояния в регистр. Ну тупые(с) - IBAH(11.09.2018 18:25)
- Лайфхак: завести TX на вход таймера, к примеру, и ловить старт бит. - SciFi(11.09.2018 12:04)
- Ээээ, если флаг взведен, то, вообще-то, уже поздно. lloyd(83 знак., 11.09.2018 11:55)
- Мне не нужно включать драйвер. Мне нужно узнать закончил ли уарт передачу, чтобы его выключить, совсем - IBAH(11.09.2018 18:31)
- Мсье изволит путаться в показаниях --> - SciFi(11.09.2018 18:32, ссылка)
- Жизнь намного сложнее... Короче, флаг ТС не подходит, поскольку является производной - IBAH(11.09.2018 18:48)
- Я по в обработчике прерывания (по ТХЕ), если нет байт на отсылку, сбрасываю флаг ТС и разрешаю прер по ТС. shan(335 знак., 17.09.2018 22:15)
- подобная фигня может быть нужна при управлении передатчиком ручками и использовании DMA с TXE - после прерывания по уходу последнего байта из памяти в буфер передачи. если пытаться сбросить TXC и ловить его от последнего байта, то можно попасть в Vit(156 знак., 12.09.2018 07:11)
- Жизнь намного сложнее... Короче, флаг ТС не подходит, поскольку является производной - IBAH(11.09.2018 18:48)
- Мсье изволит путаться в показаниях --> - SciFi(11.09.2018 18:32, ссылка)
- Мне не нужно включать драйвер. Мне нужно узнать закончил ли уарт передачу, чтобы его выключить, совсем - IBAH(11.09.2018 18:31)
- Изощренная хотелка :) - Гудвин(11.09.2018 11:54)
- Меня твоя непонимай. Притянул рукой ногу драйвера, дунул в уарт, словил прерывание по ТС, отпустил ногу в прерывании. Или у вас требования к времянкам такие, что надо со стартбитом драйвер включать? - Звероящер(13.09.2018 05:24)
- Это флаг кончала. А мне нужен флаг начала. Тот самый флаг который управляет 485 драйвером - IBAH(11.09.2018 11:46)