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

 
 
> как проверить работоспособность ttyS* на lpc2478 под uClinux
andybeg
сообщение Jun 21 2010, 21:23
Сообщение #1


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

Группа: Участник
Сообщений: 133
Регистрация: 30-11-06
Пользователь №: 22 954



залил на сабж стандартный олимексовский vmlinux.bin, так как тот который сам компилил почему то весил 2.5 Гб, в этом ещё не разобрался, так вот, а romfs_5.img беру своего производства + в нём есть моя откомпилированная погама работы с компортом по модбасу с шелезякой(шелезяка исправная, проверялось с ББ), открываю порт стандартно
fd = open("/dev/ttyS2",O_RDWR);
записываю, читаю стандартно
write(fd,query,8);
read(fd,&rxchar,1);
только при счиывании получаю FF во всех байтах sad.gif
как бы проверить порт, на педмет его живости?

Сообщение отредактировал andybeg - Jun 21 2010, 21:29
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andybeg
сообщение Sep 9 2010, 10:18
Сообщение #2


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

Группа: Участник
Сообщений: 133
Регистрация: 30-11-06
Пользователь №: 22 954



что то совсем запутался, настроил в финале беседы порт ttyS3 , понадобилось подключить ttyS2, сделал всё по аналогии и согласно мануалу постом выше указанному
lowlevel_init.c
Цитата
void UART2init( void )

{
char cuart;
unsigned int divisor = Fpclk / (16 * 9600);
PINSEL0 |= 0x00500000; //configure uart2 on pins P0.10 and P0.11
PCONP |= 1<<24; // включаю питание на UARTe
U2LCR = 0x83; // 8N1, enable Divisor latch bit
U2IER = 0X00; // 0: запретить прерывания
U2DLL = divisor & 0xFF;
U2DLM = (divisor >> 8) & 0xFF;
U2LCR &= ~0x80;
U2FCR = 1; //1: Enable FIFO's
Uart_Init_Delay();
U2FCR = 7; //6: Reset TX and RX FIFO
Uart_Init_Delay();
while(U2LSR & 1) // чистим входное FIFO
cuart = U2RBR;
}
void UART3init(void)//p2.0 p2.1
{
char cuart;
unsigned int divisor = Fpclk / (16 * 9600);
PINSEL1 |= 0x003C0000; //configure uart2 on pins P0.25 and P0.26
PCONP |= 1<<25; // включаю питание на UARTe
U3LCR = 0x83; // 8N1, enable Divisor latch bit
U3IER = 0X00; // 0: запретить прерывания
U3DLL = divisor & 0xFF;
U3DLM = (divisor >> 8) & 0xFF;
U3LCR &= ~0x80;
U3FCR = 1; //1: Enable FIFO's
Uart_Init_Delay();
U3FCR = 7; //6: Reset TX and RX FIFO
Uart_Init_Delay();
while(U3LSR & 1) // чистим входное FIFO
cuart = U3RBR;
}

uClinux-dist-\include\asm\arch-lpc22xx\serial.h
Цитата
#define BASE_BAUD (57600000 / 16)
#define UART0_BASE 0xE000C000
#define UART1_BASE 0xE0010000
#define UART2_BASE 0xE0078000
#define UART3_BASE 0xE007C000
/* Standard COM flags */
#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)

#define RS_TABLE_SIZE 4

#define STD_SERIAL_PORT_DEFNS \
/* UART CLK PORT IRQ FLAGS */ \
{ 0, BASE_BAUD, UART0_BASE, 6, STD_COM_FLAGS, \
.iomem_reg_shift = 2, \
.iomem_base = UART0_BASE, \
.io_type = UPIO_MEM}, \
{ 0, BASE_BAUD, UART1_BASE, 7, STD_COM_FLAGS, \
.iomem_reg_shift = 2, \
.iomem_base = UART1_BASE, \
.io_type = UPIO_MEM},\
{ 0, BASE_BAUD, UART2_BASE, 28, STD_COM_FLAGS, \
.iomem_reg_shift = 2, \
.iomem_base = UART2_BASE, \
.io_type = UPIO_MEM},\
{ 0, BASE_BAUD, UART3_BASE, 29, STD_COM_FLAGS, \
.iomem_reg_shift = 2, \
.iomem_base = UART3_BASE, \
.io_type = UPIO_MEM}

\uClinux-dist\include\asm\serial.h
Цитата
#ifndef __ASM_SERIAL_H
#define __ASM_SERIAL_H

//#define BASE_BAUD (1843200 / 16)
#include <asm/arch-lpc22xx/serial.h>

#endif



в коде прогруммы
Цитата
int setupComm( )
{

ttyfd = open("/dev/ttyS3",O_RDWR | O_NOCTTY);// | O_SYNC | O_NDELAY | O_DIRECT

ioctl(ttyfd,TCGETA,&tsaved);
tnew.c_line = 0;
tnew.c_oflag &=~ OPOST;
tnew.c_lflag &= ~(ICANON | ECHO | ISIG);
tnew.c_cflag &=~ CBAUD;
tnew.c_cflag |= B9600; //* baud rate 9600 setserial -g -abGv
tnew.c_cflag &=~ CSIZE;
tnew.c_cflag |= CS8; //* 8 bits RTU
tnew.c_cflag &= ~CSTOPB;
tnew.c_cflag &=~ (PARENB | PARODD); //* odd parity
tnew.c_cflag |= CREAD; //* enable read
tnew.c_cflag |= CLOCAL; //* ignore modem lines
tnew.c_cc[VMIN] = 0;
tnew.c_cc[VTIME] = 0;
ioctl(ttyfd,TCSETA,&tnew);

}
в таком виде данные на 3й порт приходят, меняю на /dev/ttyS2 и тишина ... голову уже поломал sad.gif

Сообщение отредактировал andybeg - Sep 9 2010, 10:20
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- andybeg   как проверить работоспособность ttyS* на lpc2478 под uClinux   Jun 21 2010, 21:23
- - Совсем старый Бабай   На педмет его живости? А Rx - Tx между собой замкн...   Jun 22 2010, 02:21
- - PrSt   как уже ранее советовали замкнуть rx+tx это пины 2...   Jun 22 2010, 04:43
- - andybeg   что то мне подскзывает что замыкание организовать ...   Jun 22 2010, 05:18
- - Совсем старый Бабай   А 485 интерфейса далее нет физического разъема? Ко...   Jun 22 2010, 06:56
- - andybeg   после 485 идёт другая железка или конвертер USB на...   Jun 22 2010, 11:06
- - Совсем старый Бабай   А что или кто мешает убрать лишнее железа. На край...   Jun 22 2010, 11:34
- - andybeg   пока что есть надежда на железку с которой будет у...   Jun 22 2010, 11:50
- - andybeg   нашёл небольшой HOW-TOв нём вокончании есть слова ...   Jun 23 2010, 04:19
- - Совсем старый Бабай   Команды вводяться в консоле. Читайте литературу ме...   Jun 23 2010, 05:21
- - andybeg   кидаю посылки на ttyS3, ставлю осцилограф на TXD ...   Jun 28 2010, 11:50
|- - etoja   Цитата(andybeg @ Jun 28 2010, 15:50) кида...   Jun 28 2010, 13:47
- - andybeg   виноват, зарапортовался - действительно не 5, а 3,...   Jun 28 2010, 15:23
|- - etoja   Прилагаю инструкцию и рекомендую зарегистрироватьс...   Jun 29 2010, 07:33
|- - andybeg   Цитата(etoja @ Jun 29 2010, 11:33) Прилаг...   Jun 29 2010, 08:30
|- - etoja   У вас инициализация уартов неправильная. Вот работ...   Jun 29 2010, 09:07
- - andybeg   что делает Uart_Init_Delay(); ? в uClinux это буде...   Jun 29 2010, 09:36
|- - etoja   1) // --------------------------------------------...   Jun 29 2010, 12:47
- - andybeg   отыскал ссылко и нога на уарте задёргалась без Uar...   Jun 29 2010, 12:51
- - andybeg   проблемы с ком портом не закончились раньше, когд...   Jan 11 2011, 09:35
- - andybeg   ещё по старту uClinux показываются следующие ошибк...   Jan 11 2011, 12:05
- - andybeg   вобщем с портами разобрался окончательно, основное...   Jan 29 2011, 01:47


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 18:05
Рейтинг@Mail.ru


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