Witam wszystkich czytających ten wątek
na laboratoria ma zrobić program, który będzie zliczał czas wpisywania określonego ciągu znaków z klawiatury
nie jest najlepszy z C więc to co zamieszczam poniżej może do końca nie być dobrze zrealizowane
kompilator nic nie wyrzuca ale jakoś nie mogę zmusić terminala RS232 do współpracy z tym programem
za wszelkie uwagi i rady będę wdzięczny
na laboratoria ma zrobić program, który będzie zliczał czas wpisywania określonego ciągu znaków z klawiatury
nie jest najlepszy z C więc to co zamieszczam poniżej może do końca nie być dobrze zrealizowane
#include <91R40008.H> // definicje dla ukladu AT91R40008
#include <stdio.h>
unsigned int mili = 0;
float ttt;
// odczyt znaku z ukladu UART 0
int getchar (void)
{
while (!(US0_CSR & US_RXRDY));
return (US0_RHR);
}
void obsl_tc0 (void) __irq
{
mili++;
ttt = TC0_SR;
AIC_EOICR = 0x00;
}
void main (void)
{
unsigned int i = 0;
unsigned int j = 0;
PIO_PDR = (1<<PIORXD0) | (1<<PIOTXD0); // Enable RXD and TXD
US0_MR = US_CHRL_8 | US_PAR_NO; // 8 bits, no Parity, 1 Stop bit
US0_BRGR = 430; // Baud Rate
US0_CR = US_RXEN | US_TXEN; // Enable RX and TX
TC0_RC = 8250;
TC0_IER = TC_CPCS;
TC0_CMR = TC_CAPT|TC_CPCTRG|TC_CLKS_MCK2;
AIC_SVR4 = (unsigned long)obsl_tc0;
AIC_SMR4 = AIC_SRCTYPE_EXT_POSITIVE_EDGE;
AIC_IECR = (1<<TC0_ID);
j = getchar();
TC0_CCR = TC_CLKEN|TC_SWTRG;
for(i=1; i<=15; i++) j = getchar();
TC0_CCR = TC_CLKDIS;
printf("%d", mili);
}kompilator nic nie wyrzuca ale jakoś nie mogę zmusić terminala RS232 do współpracy z tym programem
za wszelkie uwagi i rady będę wdzięczny
