реклама на сайте
подробности

 
 
> Проблема с UART в LPC2103
EXeGLuMATOR
сообщение Aug 22 2006, 23:50
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 30-01-05
Из: Volgograd
Пользователь №: 2 305



Имеется команда, например "u08 Play_CMD[]={0xFF,0x55,0x03,0x02,0x00,0x01,0xFA};" которую надо отправить через UART1 на МП3-плеер. Пытаюсь это сделать несколькими способами:
1.
const char *puts(const char *string)
{
unsigned char ch;

while ((ch = *string)) {
putchar(ch);
string++;
}

return string;
}


int putchar(int ch) /* Write character to Serial Port */
{
while (!(U1LSR & ULSR_THRE)) ; // wait for TX buffer to empty
U1THR = ch; // put char to Transmit Holding Register
return ch;
}


2.
const char *puts1(const char *string)
{
u08 i,l;
l=3+string[2]; //string[2]-длина команды
for (i=0;i<l;i++)
{
putchar(string[i]);
};
return string;
}

но происходит следующее - по первому способу - останавливается передача на 0х00, причем при отправке следующей команды, застрявшие байтики не пропихиваются на выход (ну оно и понятно - 0х00 - вроде как завершение строки).
При втором способе - 0х00 проходит, но передается на 2 байта меньше, причем при последующей команде они пропихиваются., но застревают байтики от следующей команды... Причем пропихиваться может и при записи чего-либо в другой сериальный порт...

В чем могут быть грабли? с 0-вым юартом - также.

инится ЮАРТ:

void uart1Init(unsigned int baud)
{

// setup Pin Function Select Register (Pin Connect Block)
// make sure old values of Bits 0-4 are masked out and
// set them according to UART0-Pin-Selection
PINSEL0 |= 0x00050000;
U1IER = 0x00; // disable all interrupts
U1IIR = 0x00; // clear interrupt ID register
U1LSR = 0x00; // clear line status register
// set the baudrate - DLAB must be set to access DLL/DLM
U1LCR = ULCR_DLAB_ENABLE; // set divisor latches (DLAB)
U1DLL = (unsigned char)baud; // set for baud low byte
U1DLM = (unsigned char)(baud >> 8); // set for baud high byte
// set the number of characters and other
// user specified operating parameters
// Databits, Parity, Stopbits - Settings in Line Control Register
U1LCR = (UART_8N1);// | ULCR_DLAB_ENABLE); // clear DLAB "on-the-fly"
// setup FIFO Control Register (fifo-enabled + xx trig)
U1FCR = UFCR_FIFO_ENABLE | UFCR_TX_FIFO_RESET | UFCR_FIFO_TRIG8;
}

частота работы ядра - 60МГц. Кейл.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- EXeGLuMATOR   Проблема с UART в LPC2103   Aug 22 2006, 23:50
- - Andy Mozzhevilov   Цитата(EXeGLuMATOR @ Aug 23 2006, 05:50) ...   Aug 23 2006, 03:17
|- - EXeGLuMATOR   [/quote] Если пример приведен полностью верный, т...   Aug 23 2006, 15:12
|- - zltigo   Цитата(EXeGLuMATOR @ Aug 23 2006, 18:12) ...   Aug 23 2006, 16:01
|- - EXeGLuMATOR   Цитата(zltigo @ Aug 23 2006, 20:01) Цитат...   Aug 23 2006, 17:08
|- - zltigo   Цитата(EXeGLuMATOR @ Aug 23 2006, 20:08) ...   Aug 23 2006, 17:53
|- - EXeGLuMATOR   [/quote] Долго методом тыка чего-то писалось :-( В...   Aug 24 2006, 18:32
|- - zltigo   Цитата(EXeGLuMATOR @ Aug 24 2006, 21:32) ...   Aug 24 2006, 19:11
|- - EXeGLuMATOR   [quote name='zltigo' date='Aug 24 2006...   Aug 24 2006, 19:46
|- - zltigo   Цитата(EXeGLuMATOR @ Aug 24 2006, 22:46) ...   Aug 24 2006, 19:50
|- - EXeGLuMATOR   Цитата(zltigo @ Aug 24 2006, 23:50) Цитат...   Aug 24 2006, 19:58
- - GetSmart   zltigo, опять издеваетесь над людьми?   Aug 24 2006, 20:30
|- - EXeGLuMATOR   Цитата(GetSmart @ Aug 25 2006, 00:30) zlt...   Aug 24 2006, 20:33
|- - zltigo   Цитата(GetSmart @ Aug 24 2006, 23:30) zlt...   Aug 24 2006, 20:42
|- - EXeGLuMATOR   Добро, зло... Гесер, Завулон... Эх... Вы, господин...   Aug 24 2006, 21:29
|- - zltigo   Цитата(EXeGLuMATOR @ Aug 25 2006, 00:29) ...   Aug 24 2006, 21:49
|- - EXeGLuMATOR   Цитата(zltigo @ Aug 25 2006, 01:49) Цитат...   Aug 25 2006, 17:27
|- - zltigo   Цитата(EXeGLuMATOR @ Aug 25 2006, 20:27) ...   Aug 25 2006, 17:46
|- - serj_obninsk   zltigo, не сочтите за труд разъяснить, чем грозит ...   Sep 4 2006, 12:28
||- - zltigo   Цитата(serj_obninsk @ Sep 4 2006, 15:28) ...   Sep 4 2006, 18:58
|- - EXeGLuMATOR   О! Пошел конструктив! Это радует. Значит т...   Sep 11 2006, 18:19
- - aaarrr   Цитата(GetSmart @ Aug 25 2006, 00:30) zlt...   Aug 24 2006, 20:37
- - EXeGLuMATOR   Кстати, опять аналогичные проблемы - теперь при пр...   Sep 11 2006, 20:23


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016