Имеется совершенно "стандартный" кит - Olimex LPC-P2148. На нем стоит кварц 12МГц (проверял осциллом - действительно так). Отключаю (а точнее не включаю) PLL, делитель APB ставлю в 1. Должен получить PCLK = 12МГц. FDR либо не трогаю, либо инициализирую значением по умолчанию, т.е. 0x10 чтобы он не работал. Считаем по DS baudrate: DLM:DLL = PCLK / (16 * BR) = 12000000 / (16 * 9600) = 78. И... не работает. Точнее работает, передает, но при передаче пачки нормально проходит только первый символ, а в последующих бъются биты. Явно слегка некорректный бодрейт. Экспериментально подобрал, что если выставить DLM:DLL в 82 все четко работает. Аналогичная ситуация возникает если влючить PLL х4 и разделить в APB на 2. Получаем PCLK = 24, DLL = 156. А работает он при DLL = 165!!! Никто с таким странным поведением не сталкивался? Мож кто подскажет где искать грабли?
|