męczę sięz funkcją zamieniającą int na string, która wysyla znaki prze DBGU przy pomocy Peripherial DMA Controler. Musialem sam napisać funcję podobną do itoa ponieważ nie mam jej w bibliotekach.
W Hyper terminalu jak i Term Terminalu otrzynuję dziwne znaki, w HyperTerminal: ! Ľ
w TERM Terminal: ! <00>Ľ
Nie potrafię odnaleźć blędu, wysylanie tekstu jest bezblędne.
void DBGU_ZapisDec(int n)
{
char c;
char buffor[10];
int i,j, sign,size;
if((sign = n) <0) n = -n; // zapamiętaj znak liczby
i = 0;
do
{
buffor[i++] = n % 10 + '0'; // resztę z dzielenia przez 10
// + wartość znaku zera zapisuję go buffora
} while ((n/=10)>0); // dzielę liczbę przez 10 i sprawdzam czy >0
// end do while
if (sign<0) buffor[i++] = '-'; // jeśli byl znak minus to go dodaję
buffor[i]= '\0';// znak końca
// obwrócenie kolejności znaków
size = i;
for(i=0,j= size - 1 ; i<j; i++, j--)
{
c = buffor[i];
buffor[i] = buffor[j];
buffor[j] = c;
}
// wyslanie przez DBDU przy pomocy PDC (Peripherial DMA Controler)
DBGU_ZapisChar( buffor, size);
} // end DBGU_ZapisDec
W Hyper terminalu jak i Term Terminalu otrzynuję dziwne znaki, w HyperTerminal: ! Ľ
w TERM Terminal: ! <00>Ľ
Nie potrafię odnaleźć blędu, wysylanie tekstu jest bezblędne.