firmware: fix max283x fractional long division

This commit is contained in:
mndza
2025-07-09 12:29:39 +02:00
parent 32870ad486
commit d3ee417807
2 changed files with 4 additions and 4 deletions

View File

@@ -233,8 +233,8 @@ void max2837_set_frequency(max2837_driver_t* const drv, uint32_t freq)
div_cmp = 30000000;
for (i = 0; i < 20; i++) {
div_frac <<= 1;
div_cmp >>= 1;
if (div_rem > div_cmp) {
div_rem <<= 1;
if (div_rem >= div_cmp) {
div_frac |= 0x1;
div_rem -= div_cmp;
}

View File

@@ -239,8 +239,8 @@ void max2839_set_frequency(max2839_driver_t* const drv, uint32_t freq)
div_cmp = 30000000;
for (i = 0; i < 20; i++) {
div_frac <<= 1;
div_cmp >>= 1;
if (div_rem > div_cmp) {
div_rem <<= 1;
if (div_rem >= div_cmp) {
div_frac |= 0x1;
div_rem -= div_cmp;
}