你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。关注该话题即可发布文章!
void Sw28_SetBrightness(SW28_HandleTypeDef *swObj, uint8_t b)
{
uint8_t newBrightness = b + 1;; K4 }# k) b. t% t5 p
uint8_t oldBrightness = swObj->Brightness - 1; // De-wrap old brightness value+ P2 w4 h5 s* R
uint32_t c;% B) @% u) O4 o& @& ?: }
uint16_t scale,i;1 E) _: m; f- z8 @. m9 N
if(newBrightness != swObj->Brightness)
{ // Compare against prior value& {# v* @4 a# K: I& R; y" C
// Brightness has changed -- re-scale existing data in RAM" E1 Y3 @! }8 B+ x' u# \ [8 G* v
8 ~/ v! H$ L3 m% p( _: c9 U# S
if(oldBrightness == 0)
scale = 0; // Avoid /0
else if(b == 255) ) u. O7 k/ P& C* m1 z: S( m3 p+ v
scale = 65535 / oldBrightness;
else I+ J/ y: z* X
scale = (((uint16_t)newBrightness << 8) - 1) / oldBrightness;
for(i=0; i<swObj->PixelLen; i++)
{
c = Sw28_GetPixelColor(swObj,i); //获取16bit颜色
c = Sw28_ScaleColor(scale, c);5 c0 w- Y4 k; i& }, G6 C) b
Sw28_SetPixelsColor(swObj,i,c);//设置颜色
}$ F" V( o. a4 _& i$ x8 z
swObj->Brightness = newBrightness;
}
}