Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Консольный ввод через scanf на AT91SAM9260(ядро 2.6.28)
Pasa
Добавлено 09.12.2009 23:28
0
Сообщение: 1
Pasa
0

Регистрация: 27.05.2009
На плате при использовании scanf при редактировании вводимой строки рабтают стрелочки, но не работает Backspase.

Если scanf на RedHat(вирт машина) - то стрелочки не работают, но зато Backspase нормально стирает введеные символы.

Может какие параметры попробовать при использовании

#include <termios.h>
#include <unistd.h>
tcgetattr(....)
tcsetattr(.....)

Только не знаю какие.

Подскажите как побороть. Можно самописный посимвольный ввод организовать, но хочется стандартное решение, если оно есть...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.12.2009 15:18 Сообщение: 2
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Скорее всего что-то не так с эмулируемым терминалом в /etc/inittab и на хост-терминале - несовпадают или может вообще тип не указан.
Спуститься к концу Подняться к началу
Персональная информация
Pasa
Добавлено 10.12.2009 17:11 Сообщение: 3
Pasa
0

Регистрация: 27.05.2009
========= на плате от StarterKit ==========

# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
#
# Note: BusyBox init doesn't support runlevels. The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id == tty to run on, or empty for /dev/console
# runlevels == ignored
# action == one of sysinit, respawn, askfirst, wait, and once
# process == program to run

# Startup the system
null::sysinit:/bin/mount -o remount,rw /
null::sysinit:/bin/mount -t proc proc /proc
null::sysinit:/bin/mount -a
null::sysinit:/bin/hostname -F /etc/hostname
null::sysinit:/sbin/ifconfig lo 127.0.0.1 up
null::sysinit:/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
# now run any rc scripts
::sysinit:/etc/init.d/rcS

# Set up a couple of getty's
#tty1::respawn:/sbin/getty 38400 tty1
#tty2::respawn:/sbin/getty 38400 tty2

# Put a getty on the serial port
ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100

# Logging junk
null::sysinit:/bin/touch /var/log/messages
null::respawn:/sbin/syslogd -n -m 0
null::respawn:/sbin/klogd -n
tty3::respawn:/usr/bin/tail -f /var/log/messages

# Stuff to do for the 3-finger salute
::ctrlaltdel:/sbin/reboot

# Stuff to do before rebooting
null::shutdown:/usr/bin/killall klogd
null::shutdown:/usr/bin/killall syslogd
null::shutdown:/bin/umount -a -r
null::shutdown:/sbin/swapoff -a

========== Виртуальная машина с RedHat =========

#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"


# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon
Спуститься к концу Подняться к началу
Персональная информация
Pasa
Добавлено 10.12.2009 17:21 Редактировалось 10.12.2009 17:22 Сообщение: 4
Pasa
0

Регистрация: 27.05.2009
в системе есть ttyS0, ttyS1
Попробовал пернаправить потоки ввода ввывода:

./programm 0</dev/ttyS1 1>/dev/ttyS1

Все работает, но при вводе строки через scanf в случае ttyS1
вообще никакого редактирования нет.

Подозреваю что дело в волшебной строке
# Put a getty on the serial port
ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100

Но что надо в моем случае прописать не знаю...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.12.2009 17:59 Сообщение: 5
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
вместо vt100 попробуйте linux
Спуститься к концу Подняться к началу
Персональная информация
Pasa
Добавлено 11.12.2009 01:28 Сообщение: 6
Pasa
0

Регистрация: 27.05.2009
Цитата
вместо vt100 попробуйте linux


не помогло...режим как-будто и не изменился даже...
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux