-
- Все же херово, даже с волатилой, выходить из функции после txhead++ без такого же прокруста. Ведь значение головы после инкремента может стать некорректным, и сравнение с хвостом в обработчике не будет иметь смысла. Или хоть при сравнении Доширак(52 знак., 14.12.2017 23:21, )
- [txhead & (TXFIFOSZ - 1)] - Ruslan(14.12.2017 19:38, картинка)
- Не надо грязи! Ещё есть такое "assert_static(IS_POWER_OF_TWO(TXFIFOSZ));" - SciFi(14.12.2017 20:24)
- вам нужно в этом примере обеспечить атомарность выполнения send, использовать для этого volatile несколько странно - 0men(14.12.2017 17:49)
- Кстати, про атомарность. В проекте на F303 у меня ИАР спокойно относится к std::atomic, а в проекте на F042 вываливает кучу ошибок, к чему бы это? - йцукен(14.12.2017 18:39)
- Не нужна там атомарность выполнения send. Вот и misyachniy носится с такой же глупой затеей. - SciFi(14.12.2017 17:51)
- при обеспечении атомарности в вашем примере никакого volatile не понадобилось. Внутри send был бы возможен любой порядок операций. - 0men(14.12.2017 17:54)
- При обеспечении атомарности volatile вообще нигде не понадобится. Только зачем из пушки по воробьям? - SciFi(14.12.2017 17:55)
- ок, уговорили ) - 0men(14.12.2017 18:02)
- При обеспечении атомарности volatile вообще нигде не понадобится. Только зачем из пушки по воробьям? - SciFi(14.12.2017 17:55)
- при обеспечении атомарности в вашем примере никакого volatile не понадобилось. Внутри send был бы возможен любой порядок операций. - 0men(14.12.2017 17:54)