nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Apr 2024 00:03



Reply to topic  [ 105 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Клавиатура и NedoPC-90 
Author Message
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22540
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
у меня есть TCNT1L и TCNT1H и нет TCNT1, и точно также есть OCR1AL и OCR1AH и нет OCR1A - вроде в старом коде в этом смысле все Ок было...


Это я про io8535.h писал - греп сказал что TCN1 есть в iotn15.h, а в iomacros.h есть __inw и __outw как написано в комментариях как раз для 16-битного доступа к TCNT1 и OCR1

_________________
:dj: https://mastodon.social/@Shaos


21 Dec 2005 19:48
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22540
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Чуйствую пора мне делать легковесный интерпретатор RW0-байткода для того чтобы вкмопилировать его в AVR - напомни каков размер int в этом компиляторе?


Только что наткнулся в одном из топиков на свой же вопрос про int, заданный еще в мае ;)

_________________
:dj: https://mastodon.social/@Shaos


21 Dec 2005 19:49
Profile WWW
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
Shaos wrote:
Shaos wrote:
у меня есть TCNT1L и TCNT1H и нет TCNT1, и точно также есть OCR1AL и OCR1AH и нет OCR1A - вроде в старом коде в этом смысле все Ок было...


Это я про io8535.h писал - греп сказал что TCN1 есть в iotn15.h, а в iomacros.h есть __inw и __outw как написано в комментариях как раз для 16-битного доступа к TCNT1 и OCR1


У меня стоят.
avr-binutils-2.14-alt1.i586.rpm
avr-gcc-3.3.1-alt1.i586.rpm
avr-gcc-c++-3.3.1-alt1.i586.rpm
avr-libc-1.0.4-alt1.i586.rpm
avr-libc-doc-1.0.4-alt1.i586.rpm

Качай и ставь - там все определения есть.

В той версии AVROS, что ты собирал в прошлый раз. просто не было модуля для поддержки 1го таймера и обращений к 16битным регистрам.

Кстати, на более высоких версиях, библиотека опять перелопачена, и основательно. Совместимость тоже теряется.


21 Dec 2005 20:02
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22540
Location: Silicon Valley
Reply with quote
Post 
SfS wrote:
Shaos wrote:
Shaos wrote:
у меня есть TCNT1L и TCNT1H и нет TCNT1, и точно также есть OCR1AL и OCR1AH и нет OCR1A - вроде в старом коде в этом смысле все Ок было...


Это я про io8535.h писал - греп сказал что TCN1 есть в iotn15.h, а в iomacros.h есть __inw и __outw как написано в комментариях как раз для 16-битного доступа к TCNT1 и OCR1


У меня стоят.
avr-binutils-2.14-alt1.i586.rpm
avr-gcc-3.3.1-alt1.i586.rpm
avr-gcc-c++-3.3.1-alt1.i586.rpm
avr-libc-1.0.4-alt1.i586.rpm
avr-libc-doc-1.0.4-alt1.i586.rpm

Качай и ставь - там все определения есть.

В той версии AVROS, что ты собирал в прошлый раз. просто не было модуля для поддержки 1го таймера и обращений к 16битным регистрам.

Кстати, на более высоких версиях, библиотека опять перелопачена, и основательно. Совместимость тоже теряется.


Смотрел на фтп altlinux.ru - нашел только совсем старые пакеты и совсем новые - а вот это версии (1.0.4) не нашел :(

_________________
:dj: https://mastodon.social/@Shaos


22 Dec 2005 17:13
Profile WWW
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
Shaos wrote:
Смотрел на фтп altlinux.ru - нашел только совсем старые пакеты и совсем новые - а вот это версии (1.0.4) не нашел :(


Определи эти TCNT1 ОСR1A - вручную в файле sysdef.h. Должно заработать.

#define TCNT1 TCNT1L
#define ОСR1A ОСR1AL


23 Dec 2005 03:46
Profile
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
Заработало ? или на чтото еще ругается ?


25 Dec 2005 19:11
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22540
Location: Silicon Valley
Reply with quote
Post 
SfS wrote:
Shaos wrote:
Смотрел на фтп altlinux.ru - нашел только совсем старые пакеты и совсем новые - а вот это версии (1.0.4) не нашел :(


Определи эти TCNT1 ОСR1A - вручную в файле sysdef.h. Должно заработать.

#define TCNT1 TCNT1L
#define ОСR1A ОСR1AL


Ок - только зачем ты O и С по русски написал? ;)

Я долго не мог понять почему у меня компилятор ругается :)

Теперь вот что осталось:

Code:
In file included from hl/timer0.c:6,
                 from hl/__tmpsrc__.c:2:
/usr/include/avr/signal.h:7:2: warning: #warning "please include sig-avr.h instead"
In file included from hl/__tmpsrc__.c:14:
hl/keypad40.c: In function `keypad40_puart_init':
hl/keypad40.c:42: invalid lvalue in assignment
hl/keypad40.c: In function `keypad40_getch':
hl/keypad40.c:221: warning: implicit declaration of function `pgm_read_byte'
make: *** [create_hl] Ошибка 1

_________________
:dj: https://mastodon.social/@Shaos


06 Jan 2006 23:37
Profile WWW
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
Code:
In file included from hl/timer0.c:6,
                 from hl/__tmpsrc__.c:2:
/usr/include/avr/signal.h:7:2: warning: #warning "please include sig-avr.h instead"
In file included from hl/__tmpsrc__.c:14:
hl/keypad40.c: In function `keypad40_puart_init':
hl/keypad40.c:42: invalid lvalue in assignment
hl/keypad40.c: In function `keypad40_getch':
hl/keypad40.c:221: warning: implicit declaration of function `pgm_read_byte'
make: *** [create_hl] Ошибка 1


Ну первое - понятно. Надо вместо signal.h подключать sig-avr.h (хотя вроде и так и этак работает).

Второе - pgm_read_byte - возможно вместо него надо использовать PRG_RDB() ?

Там есть такая штука - в старой версии avr-libc использовался макрос PRG_RDB() в новой - pgm_read_byte().
Попробуй в файле hl/keypad40.c заменить pgm_read_byte на PRG_RDB.

Кстати - может всетаки проще скачать нужную версию библиотек ? Если даже на altlinux ее нет - должна же она гдето в инете быть!

Ох и морока с этими версиями avr-glibc !
Кстати - уже виден свет в конце тоннеля насчет окончательной версии ОС (так сказать релиза). Попробую избавить насколько возможно людей от такой мороки - либо контроль версий введу либо откажусь от "проблемных" макросов вообще и введу свои.


08 Jan 2006 20:50
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22540
Location: Silicon Valley
Reply with quote
Post 
А сейчас ему не нравится DDRD...
Quote:
hl/keypad40.c:42: invalid lvalue in assignment

_________________
:dj: https://mastodon.social/@Shaos


09 Jan 2006 20:11
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22540
Location: Silicon Valley
Reply with quote
Post 
Вроде собралось после обновления компилятора (см. http://www.nedopc.org/forum/viewtopic.php?t=8015&start=15)

_________________
:dj: https://mastodon.social/@Shaos


09 Jan 2006 20:49
Profile WWW
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
Shaos wrote:
Вроде собралось после обновления компилятора (см. http://www.nedopc.org/forum/viewtopic.php?t=8015&start=15)


Ну и ладушки. А в железе пробовал ? Работает ?


10 Jan 2006 02:08
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22540
Location: Silicon Valley
Reply with quote
Post 
SfS wrote:
Shaos wrote:
Вроде собралось после обновления компилятора (см. http://www.nedopc.org/forum/viewtopic.php?t=8015&start=15)


Ну и ладушки. А в железе пробовал ? Работает ?


Пока не пробовал - буду пробовать на этой неделе

_________________
:dj: https://mastodon.social/@Shaos


10 Jan 2006 03:30
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22540
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
SfS wrote:
Shaos wrote:
Вроде собралось после обновления компилятора (см. http://www.nedopc.org/forum/viewtopic.php?t=8015&start=15)


Ну и ладушки. А в железе пробовал ? Работает ?


Пока не пробовал - буду пробовать на этой неделе


Решил вытащить сюда текст со схемой:

Code:
40-кнопочная 3хвольтовая клавиятура с последовательным выходом.
------------------------------------------------------------------------------
Контакты:
  2 - Vcc=+3.3V
  3 - SO - выходной сигнал
  10- общий (0V)
------------------------------------------------------------------------------
Замечания:
    Выход SO (конт. 3 разъема) - инверсный.
    Т.е. на нем постоянно 0, а данные передаются импульсами +3.3вольта.
    Схема (см. ниже) инвертирует сигнал и согласует его с ТТЛ уровнями, что
    позволяет подключать клавиатуру к любому встроенному UARTу
    микроконтроллеров.
    Скорость обмена - 9600.
------------------------------------------------------------------------------
Таблица кодов клавиш (коды нажатий - однобайтовые):
 
  Для всех клавиш при отпускании вырабатывается код (0x85,0x85),
  кроме клавиши Fn, для неё код отпускания (0x9e,0x9e)
------------------------
     Символьные               Служебные
    A = 0x4d B = 0x4b       Fn        = 0x01 (код отпускания 0x9e,0x9e)
    C = 0x65 D = 0x28       BSpc (<-) = 0x17
    E = 0x12 F = 0x29       Del       = 0x48
    G = 0x2a H = 0x2b       Enter(<-|)= 0x2c
    I = 0x68 J = 0x14       Left      = 0x2d
    K = 0x15 L = 0x16       Right     = 0x2e
    M = 0x49 N = 0x4a       Up        = 0x63
    O = 0x4f P = 0x4e       Down      = 0x1b
    Q = 0x10 R = 0x13       Phone     = 0x18
    S = 0x4c T = 0x6b       ToDo      = 0x1a
    U = 0x69 V = 0x64       Date      = 0x2f
    W = 0x11 X = 0x66       Memo      = 0x62
    Y = 0x6a Z = 0x67
   
    Speace = 0x19 (оба)
------------------------------------------------------------------------------
Схема сопряжения с TTЛ:
------------------------
Клавиатура                        ТТЛ
                (кремиевые диоды)
Vcc=+3.3V      D1  D2  D3
  2 ----------|<|-|<|-|<|-------- +5v
     |    |
 33К -    | 0.1мкф
    | |  ---
    | |  ---
     -    |
     |    |
 10 ----------------------------- GND (0v)
 
                     ----------- +5v
                     |
                     -
                    | | 10Ком
                    | |
                     -             
 SO - выход        к |--------------  SO - выход (ТТЛ-уровень)
      -------     | /
 3 --|100 Ом |----|<
      -------   б | \
                   э |
                     |
           ------------ GND (0v)
------------------------------------------------------------------------------


Вобщем для начала собрал схему понижения напряжения - взял 3 диода 1N4001, резистор и конденсатор - получил напряжение 3.6В - нормально или еще понижать?

_________________
:dj: https://mastodon.social/@Shaos


12 Jan 2006 20:39
Profile WWW
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
Shaos wrote:
Вобщем для начала собрал схему понижения напряжения - взял 3 диода 1N4001, резистор и конденсатор - получил напряжение 3.6В - нормально или еще понижать?


Ты наверное взял диоды слишком хорошие :). У них падение маленькое.
Я брал КД-какието стеклянные (510 чтоли?). В общем напряжение на клаве было примерно 3.1-3.3 вольта. Мне кажется, что на 3.6 работать должно - но можешь для перестраховки еще один диод воткнуть. Или возьми сопротивление не 10к - а поменьше - скажем 3К. Напряжение чуток упадет.

В общем то я такой вопрос подробно не исследовал, хотя 0.3-0.5 вольта в данном случае не должны влиять - всетаки это клалва - ширпотреб и не рассчитана на прецензионное питание.


12 Jan 2006 21:32
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22540
Location: Silicon Valley
Reply with quote
Post 
SfS wrote:
Shaos wrote:
Вобщем для начала собрал схему понижения напряжения - взял 3 диода 1N4001, резистор и конденсатор - получил напряжение 3.6В - нормально или еще понижать?


Ты наверное взял диоды слишком хорошие :). У них падение маленькое.
Я брал КД-какието стеклянные (510 чтоли?). В общем напряжение на клаве было примерно 3.1-3.3 вольта. Мне кажется, что на 3.6 работать должно - но можешь для перестраховки еще один диод воткнуть. Или возьми сопротивление не 10к - а поменьше - скажем 3К. Напряжение чуток упадет.

В общем то я такой вопрос подробно не исследовал, хотя 0.3-0.5 вольта в данном случае не должны влиять - всетаки это клалва - ширпотреб и не рассчитана на прецензионное питание.


Ок - завтра еще похимичу. Вопрос - если включить клаву/индикатор/компорт, то сколько свободной памяти кода и данных останется на моей ATMEGA8535? Это к вопросу об интерпретаторе и, возможно, компиляторе RW1/RW0. И еще я забыл о внешнем флеш-накопителе...

_________________
:dj: https://mastodon.social/@Shaos


12 Jan 2006 21:50
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 105 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next

Who is online

Users browsing this forum: No registered users and 11 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.