Чт июл 21, 2022 16:09:19
Чт июл 21, 2022 19:39:09
Чт июл 21, 2022 21:55:42
Пт июл 22, 2022 06:30:48
char portStateC[4]= {0xFE,0xFD,0xFB,0xF7};
char inputStateD[4]={0x01,0x20,0x40,0x80};
//...
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
for(i=0; i<4; i++)
{
PORTC=portStateC[i];
for(j=0; j<4; j++)
{
if(((PIND&inputStateD[j])==0) && (PINC&inputStateD[j]))
{
while((PIND&inputStateD[j])!=inputStateD[j]){};
lcd_putchar(mass2[i][j]);
}
}
}
}
//...
Пт июл 22, 2022 09:48:02
char portStateD[4]= {0xEF,0xDF,0xBF,0x7F};
char portStateD[4]= {0xEF,0xDF,0xBF,0x7F};
//...
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
for(i=0; i<4; i++)
{
PORTD=portStateD[i];
for(j=0; j<4; j++)
{
//...
}
}
}
char portStateD[4]= {0xEF,0xDF,0xBF,0x7F};
//...
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
for(i=0; i<4; i++)
{
PORTD=portStateD[i];
for(j=0; j<4; j++)
{
if(!(PORTС & (1 << j))
{
//здесь получили координаты i и j кнопки
}
}
}
}
Пт июл 22, 2022 10:05:53
char portStateD[4]= {0xEF,0xDF,0xBF,0x7F};
char portStateD[4]= {0xEF,0xDF,0xBF,0x7F};
//...
har portStateD[4]= {0xEF,0xDF,0xBF,0x7F};
char portStateD[4]= {0xEF,0xDF,0xBF,0x7F};
Пт июл 22, 2022 11:47:49
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
for(i = 0; i < 4; i++) {
PORTD = portStateD[i];
for(j = 0; j < 4; j++) {
if((!(PINC) & (1 << j)))
lcd_putchar(mass2[i][j]);
}
}
}
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTB=0xFF;
DDRB=0x00;
Пт июл 22, 2022 13:23:17
Пт июл 22, 2022 14:19:49
Пт июл 22, 2022 15:33:13
Пт июл 22, 2022 15:37:29
azerhud писал(а): DDRC = 0x0F; // Единица младших разрядах, порт настроен как выход,
PORTC = 0xFF; // Включаем подтягивающие резисторы
metan писал(а):И да, вам еще сказали, что младшие линии порта опроса (PORTC) должны быть настроены на вход с подтяжкой. И посмотрите, как у вас.
Dimon456 писал(а): DDRC = 0x00;
PORTC = 0xFF;
Пт июл 22, 2022 18:28:51
Пт июл 22, 2022 20:33:07
volatile bit temp = 0;
if ((key) && (temp == 1))
if (temp == 1)
void USART_SendChar(char sym)
Ср июл 27, 2022 15:25:37
Ср июл 27, 2022 23:41:12
Чт июл 28, 2022 09:08:37
Это конечно, так, но это пустяки по сравнению с конскими задержками внутри прерывания, как мне кажетсяMartian писал(а):for(j = 0; j < 5; j++) можно переписать
Сб июл 30, 2022 18:58:45
Чт авг 04, 2022 10:08:49
Пт авг 12, 2022 20:59:32
Пт авг 12, 2022 21:56:00
Да уж, намудрили так намудрили.azerhud писал(а):Но боюсь вновь намудрил.