код:
Код
#include <LPC214x.h>
void init_uart (void);
int putchar (int ch);
int main()
{
init_uart();
while(1)
{
putchar (176);
}
}
void init_uart(void)
{
PINSEL0 = 0x5; // make P0.0 - TxD0, P0.1 - RxD0
U0LCR = 0x83;
U0DLL=0x14; //CCLK=12 MHz, PCLK = CCLK/4=3 MHZ, BAUDRATE=9600
U0LCR=0x3;
}
int putchar (int ch)
{
if (ch == '\n')
{
while (!(U0LSR & 0x20));
U0THR = 0x0D;
}
while (!(U0LSR & 0x20));
return (U0THR = ch);
}
void init_uart (void);
int putchar (int ch);
int main()
{
init_uart();
while(1)
{
putchar (176);
}
}
void init_uart(void)
{
PINSEL0 = 0x5; // make P0.0 - TxD0, P0.1 - RxD0
U0LCR = 0x83;
U0DLL=0x14; //CCLK=12 MHz, PCLK = CCLK/4=3 MHZ, BAUDRATE=9600
U0LCR=0x3;
}
int putchar (int ch)
{
if (ch == '\n')
{
while (!(U0LSR & 0x20));
U0THR = 0x0D;
}
while (!(U0LSR & 0x20));
return (U0THR = ch);
}
использую - Tera Term Pro v2.3
поскольку в коде только putchar (176); значит передаваться всегда должен один символ,
я же вижу их аж 2: @P (картинка в посте)
что может быть неправильного в коде?