Подаю в УАРТ цифру 50, а результат pwm = 0x006A, хотя меняю переменную procent на число 0x50 и выводит pwm = 0х216 т.е. правильно !
Проверил зажигая на мониторе символы.
- Код: Выделить всё • Развернуть
unsigned char p_text1,p_text2;
unsigned int pwm,procent;
- Код: Выделить всё • Развернуть
p_text1 = getchar();
p_text2 = getchar();
lcd_gotoxy(6,1);
lcd_putchar(p_text1);
lcd_gotoxy(7,1);
lcd_putchar(p_text2);
lcd_gotoxy(8,1);
lcd_putchar(0x25);
procent = (p_text1 << 4)|(0b00001111 & p_text2); //50
procent = (unsigned char) (procent & 0x0ff);
pwm = (procent*0x3ff)/0x099; //преобразую
if (pwm == 0x6a) { //зажигается
lcd_gotoxy(3,1);
lcd_putchar(0xff);
}
if (procent == 0x50) {//зажигается
lcd_gotoxy(2,1);
lcd_putchar(0xff);
}