📄 rgb.c
字号:
//mozne hodnoty promennych: h = <0,360> , s = <0,255>, v = <0,255>
// rgb jsou komparacni registry PWM kanalu
#define r OCR1A
#define g OCR2
#define b OCR1B
// --------------------------- konverze HSV do RGB -----------------
void HSVtoRGB(unsigned int h, unsigned char s, unsigned char v )
{
long q,t,p,f;
unsigned char i;
if(s = = 0) {
r = g = b = v;
return;
}
i = h / 60;
f = h % 60;
p = ((v * (255 - s)) / 255) ;
q = ((v * (15049 - s * f)) / 15049);
t = ((v * (15049 - s * (59 - f))) / 15049);
switch(i) {
case 0: r = v ;g = t ;b = p ;break;
case 1: r = q ;g = v ;b = p ;break;
case 2: r = p ;g = v ;b = t ;break;
case 3: r = p ;g = q ;b = v ;break;
case 4: r = t ;g = p ;b = v ;break;
default:r = v ;g = p ;b = q ;break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -