-
- На каждое сэкономленное умножение требуется три дополнительных сложения. Для 2х-тактового умножителя АВР метод - неактуален. Для кортексов - аналогично - argus98(16.05.2019 11:47)
- смысл есть для больших чисел типа 32 байтного (в общем то глупость на АВРках, но для датчика влаги BME280 по даташиту такие вычисления требуются) - symbions(16.05.2019 12:41)
- 32-байтного? Наскока помню, количество барионов в наблюдаемой вселенной на несколько порядков меньше. А 32-битные вычисления на АВР летят, тока фпуть. - mse homjak(16.05.2019 13:29)
- Всевсяческая "длинная арифметика" для криптографии и прочего такого. Там перемножение 2048-битных чисел - как здрасьте. - LightElf(16.05.2019 17:37)
- Речь-то не о крипте, а о сратом даччике влажности. - mse homjak(16.05.2019 18:20)
- Хорошая опечатка :) symbions(64 знак., 16.05.2019 22:47)
- Речь-то не о крипте, а о сратом даччике влажности. - mse homjak(16.05.2019 18:20)
- :) symbions(32 знак., 16.05.2019 14:16)
- Не беда. Финансисты могут придумать столько денег, что и 32 байт не хватит. - SciFi(16.05.2019 13:45)
- +1. мега 32x32 умножает за 104 такта , со знаком - 115 тактов - m16_home(16.05.2019 13:36)
- Какой компилятор? Винавр на таком коде чушь считал: symbions(2254 знак., 16.05.2019 14:18)
- avrasm - m16_home(16.05.2019 14:41)
- Спасибо symbions(121 знак., 16.05.2019 22:49)
- Странно, этот код нормально компилится и работает на ардуине, а там тот же винавр. - m9rs(17.05.2019 08:05)
- А не можете оценить время выполнения вычислений? - symbions(17.05.2019 11:10)
- я не на работе, по памяти 1мс обмен и вычисление температуры, давления и влажности при работе от 8 МГц. - m9rs(17.05.2019 14:32)
- Спасибо. У меня вроде бы 7МГц (давно было) - и времени на обработку 3 мс - должно было работать symbions(113 знак., 17.05.2019 23:50)
- я не на работе, по памяти 1мс обмен и вычисление температуры, давления и влажности при работе от 8 МГц. - m9rs(17.05.2019 14:32)
- А не можете оценить время выполнения вычислений? - symbions(17.05.2019 11:10)
- Первое, что приходит на ум: промежуточный результат каждой арифметической операции в отдельную переменную. Прогнать на стм32 и авре, искать отличия. Глюк может убежать сам из-за рефакторинга. Упрощать не надо: нормальный компилятор сам сократит, SciFi(27 знак., 16.05.2019 23:03)
- Странно, этот код нормально компилится и работает на ардуине, а там тот же винавр. - m9rs(17.05.2019 08:05)
- Спасибо symbions(121 знак., 16.05.2019 22:49)
- Ну это только проблемы ВИНАВРа. Сам-то АВР, красавчик. - mse homjak(16.05.2019 14:41)
- Я бы не спешил ругать компилятор. Обычно виноват
говнокодер. - SciFi(16.05.2019 14:46)- Может. Но код с даташита. И на СТМке он работает. А на авр-ке нет. Датчик один и тотже. Вот не ясно что там - остальное всё работает. Было б в даташите хоть что-то ещё, кроме кода - можно было бы попробывать что-то поменять, а так. - symbions(16.05.2019 15:56)
- Очень похоже, что где-то в коде затесался int, который переполняется. (У компилятора для AVR он наверняка 16-битный.) - Samx(22.05.2019 18:54, )
- Да может - но опять датчик ушёл в ящик - заболел :( - symbions(23.05.2019 18:23)
- Даташыты разные бывают. Видел такое, что от того кода даже нерадивому студенту стыдно было бы. Наверное, поэтому под NDA :-) - SciFi(16.05.2019 16:02)
- Очень похоже, что где-то в коде затесался int, который переполняется. (У компилятора для AVR он наверняка 16-битный.) - Samx(22.05.2019 18:54, )
- Может. Но код с даташита. И на СТМке он работает. А на авр-ке нет. Датчик один и тотже. Вот не ясно что там - остальное всё работает. Было б в даташите хоть что-то ещё, кроме кода - можно было бы попробывать что-то поменять, а так. - symbions(16.05.2019 15:56)
- Я бы не спешил ругать компилятор. Обычно виноват
- avrasm - m16_home(16.05.2019 14:41)
- Какой компилятор? Винавр на таком коде чушь считал: symbions(2254 знак., 16.05.2019 14:18)
- Всевсяческая "длинная арифметика" для криптографии и прочего такого. Там перемножение 2048-битных чисел - как здрасьте. - LightElf(16.05.2019 17:37)
- 32-байтного? Наскока помню, количество барионов в наблюдаемой вселенной на несколько порядков меньше. А 32-битные вычисления на АВР летят, тока фпуть. - mse homjak(16.05.2019 13:29)
- смысл есть для больших чисел типа 32 байтного (в общем то глупость на АВРках, но для датчика влаги BME280 по даташиту такие вычисления требуются) - symbions(16.05.2019 12:41)
- На каждое сэкономленное умножение требуется три дополнительных сложения. Для 2х-тактового умножителя АВР метод - неактуален. Для кортексов - аналогично - argus98(16.05.2019 11:47)