Цитата(vadim_rt @ Sep 1 2012, 20:24)

tI2C->I2CLK = (u32divider & ~0xFF)? 0xFF:((u32divider & ~0x03)? u32divider: 4);
Это означает, что tI2C->I2CLK (а это по смыслу 1 байт) устанавливается по условию:
Если значение u32divider > 255 (т.е. больше полного байта), то устанавливаем максимум = 255.
Если значение u32divider находится в интервале от 4 до 255, то это значение устанавливаем, как оно есть.
Если значение u32divider < 4, то устанавливаем 4.
Такие выражения типичны, когда какую-то величину требуется обрезать с двух сторон (по максимуму и минимуму сразу). Например, э ... при начислении пенсий

- если начислено выше потолка, то получаешь потолок; если начислено ниже прожиточного минимума, то получаешь прожиточный минимум; а если в промежутке, то получаешь сколько начислено. Вот и здесь 255 - потолок, а 4 - прожиточный миниммум.