Множитель/делитель на микроконтроллере

Поклонники продукции Microchip Technology Inc тусуются тут.
reka
Родился
Сообщения: 2
Зарегистрирован: Пт мар 23, 2018 11:47:38

Re: Множитель/делитель на микроконтроллере

Сообщение reka »

Трабла была в free версии компилятора, нужна pro.
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Re: Множитель/делитель на микроконтроллере

Сообщение NStorm »

Вот тут переделал для free версии XC8. Но т.к. в бесплатной версии плохо с оптимизацией, деление на дробное число не влезет. Там конкретно человек просил кэф. 1.5 - сделал через деление на 2 + 1/3. Так влезает. Если кэф нужен другой - думать нужно самому как это в целых числах провернуть.
Alexandr_
Родился
Сообщения: 18
Зарегистрирован: Вс ноя 13, 2011 01:24:03

Re: Множитель/делитель на микроконтроллере

Сообщение Alexandr_ »

Всем привет!
Спасибо Nstorm за работу и пояснения. Пригодилось на днях.
Вот вариант на счет подумать для free версии, кусочек кода:
//--------------------
GIE = 0;
per_tmp = Per_In;
GIE = 1;
per_tmp /= 1;
//--------------------
if (per_tmp) {
per_tmp = (unsigned long)(per_tmp / 1);
per_tmp += (per_tmp / 9);
per_tmp = (unsigned long)(per_tmp / 2);
GIE = 0;
Per_Out = per_tmp;
GIE = 1;
TMR1IE = 1;
} else {
TMR1IE = 0;
PIN_OUT = 0;

Еще раз спасибо. ))
Ответить

Вернуться в «PIC»