Есть мой старый девайс на AT90CAN128 работающий с CAN 500 кбод и UART 57600. Нужно сделать небольшое кол-во девайсов, почти таких же, но скорость UART д.б. 921600. Для этого нужен кварц 7372800, тогда частота поделится на 8 и получится как раз 921600. Но для обеспечения 500 кбод у CAN ближайшее значение частоты д.б. 7500000, тогда при TQ=15 как раз получится 500 кбод. И UART и CAN допускают небольшую погрешность по частоте, но при любом значении частоты (и 7372800 и 7500000) эта погрешность будет великовата, на границе допустимой (или для UART или для CAN). А вот если принять среднюю частоту, т.е. 7436400, то и там и там всё будет нормально. НО таких кварцев не бывает.
Вот я и подумал, а что если подстроить частоту внутреннего генератора за счёт регистра OSCAL до требуемого значения?
Часовой кварц к процессору подключен (к таймеру), т.е. сделать это будет несложно. Но допустимо ли такое (на -7%) изменение частоты? Будут ли работать ВСЕ процессоры?