Имеется отладочная плата на LPC2148 и J-Link. UART0 через MAX3232 подключен к компорту компа, накомпе прога Terminal этот порт читает.
Пока пытаюсь разобраться и послать на комп хотя бы как-то что-то, без прерываний и прочего... но ничего не получается.
Код для IAR. Взял из него пример работы с УАРТ1, токо какой-то сложный, но мне нада УАРТ0, я вроде переделал под своё, но не заработало. Щас решил совсем всё упростить, оставил только файл стартапа и вот такой код:
int main(void)
{
PINSEL0 = 0x5; // порты Р0.0 и Р0.1 как TXD0 и RXD0
U0LCR_bit.DLAB = 1; // разрешить запись в настройки делителя
U0DLL = 0xC2; // скорость обмена 9600, вроде как
U0LCR_bit.DLAB = 0; // настройки закончены, теперь открыто обращение к буферам
U0LCR_bit.WLS = 0x03; // длина символа 8 бит
U0LCR_bit.SBS = 1; // 1 стоп бит
U0FCR_bit.FCRFE = 1; // разрешить FIFO (уровень тригера - 1 символ)
while(TRUE)
{
while (U0LSR_bit.THRE == 0); // проверяем пуст ли буфер передатчика
U0THR = 0x65; // шлём байт, не важно какой, пусть будет "A"
}
}
Во время отладки через J-link U0THR просто не изменяется. Ведь я ему в наглую присваю значение, чего он в нули свои упёрся? Бит THRE занятости буфера тоже не шевелится, постоянно равен 0, вроде буд-то бы я и не кидал туда символ... Terminal ничего не показывает тоже...
Наверно в коде я упускаю важные вещи?
Я знаю, что это лол, но помогите, плиз((