Jul. 3rd, 2012

Имеется контроллер, в регистр (8 бит) надо записать правильный коэффициент деления чтобы получить правильную частоту.
Я так и пишу
UBRR1L = (16000000/(16 * 13980)) - 1;

и час пытаюсь понять почему все сбоит. Проверяю регистр. Там 74. А калькулятор говорит надо 70. Меняю код на
UBRR1L = 70;
и все становится хорошо. Но как же так, дорогая редакция? Почему GCC не посчитал точно а что то сильно "округлил"?
Где у Маркса или K&R сказано что не надо считать точно? Ведь константа считается при компиляции?

Profile

master_a

October 2016

S M T W T F S
      1
2345678
9101112131415
1617181920 2122
23242526272829
3031     

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 28th, 2025 07:46 am
Powered by Dreamwidth Studios