Это я про io8535.h писал - греп сказал что TCN1 есть в iotn15.h, а в iomacros.h есть __inw и __outw как написано в комментариях как раз для 16-битного доступа к TCNT1 и OCR1Shaos wrote:у меня есть TCNT1L и TCNT1H и нет TCNT1, и точно также есть OCR1AL и OCR1AH и нет OCR1A - вроде в старом коде в этом смысле все Ок было...
Клавиатура и NedoPC-90
Moderator: Shaos
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Только что наткнулся в одном из топиков на свой же вопрос про int, заданный еще в маеShaos wrote:Чуйствую пора мне делать легковесный интерпретатор RW0-байткода для того чтобы вкмопилировать его в AVR - напомни каков размер int в этом компиляторе?

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
У меня стоят.Shaos wrote:Это я про io8535.h писал - греп сказал что TCN1 есть в iotn15.h, а в iomacros.h есть __inw и __outw как написано в комментариях как раз для 16-битного доступа к TCNT1 и OCR1Shaos wrote:у меня есть TCNT1L и TCNT1H и нет TCNT1, и точно также есть OCR1AL и OCR1AH и нет OCR1A - вроде в старом коде в этом смысле все Ок было...
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битным регистрам.
Кстати, на более высоких версиях, библиотека опять перелопачена, и основательно. Совместимость тоже теряется.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Смотрел на фтп altlinux.ru - нашел только совсем старые пакеты и совсем новые - а вот это версии (1.0.4) не нашелSfS wrote:У меня стоят.Shaos wrote:Это я про io8535.h писал - греп сказал что TCN1 есть в iotn15.h, а в iomacros.h есть __inw и __outw как написано в комментариях как раз для 16-битного доступа к TCNT1 и OCR1Shaos wrote:у меня есть TCNT1L и TCNT1H и нет TCNT1, и точно также есть OCR1AL и OCR1AH и нет OCR1A - вроде в старом коде в этом смысле все Ок было...
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битным регистрам.
Кстати, на более высоких версиях, библиотека опять перелопачена, и основательно. Совместимость тоже теряется.

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Ок - только зачем ты O и С по русски написал?SfS wrote:Определи эти TCNT1 ОСR1A - вручную в файле sysdef.h. Должно заработать.Shaos wrote: Смотрел на фтп altlinux.ru - нашел только совсем старые пакеты и совсем новые - а вот это версии (1.0.4) не нашел
#define TCNT1 TCNT1L
#define ОСR1A ОСR1AL

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

Теперь вот что осталось:
Code: Select all
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
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
Code: Select all
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
Второе - pgm_read_byte - возможно вместо него надо использовать PRG_RDB() ?
Там есть такая штука - в старой версии avr-libc использовался макрос PRG_RDB() в новой - pgm_read_byte().
Попробуй в файле hl/keypad40.c заменить pgm_read_byte на PRG_RDB.
Кстати - может всетаки проще скачать нужную версию библиотек ? Если даже на altlinux ее нет - должна же она гдето в инете быть!
Ох и морока с этими версиями avr-glibc !
Кстати - уже виден свет в конце тоннеля насчет окончательной версии ОС (так сказать релиза). Попробую избавить насколько возможно людей от такой мороки - либо контроль версий введу либо откажусь от "проблемных" макросов вообще и введу свои.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Вроде собралось после обновления компилятора (см. viewtopic.php?t=8015&start=15)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
Ну и ладушки. А в железе пробовал ? Работает ?Shaos wrote:Вроде собралось после обновления компилятора (см. viewtopic.php?t=8015&start=15)
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Пока не пробовал - буду пробовать на этой неделеSfS wrote:Ну и ладушки. А в железе пробовал ? Работает ?Shaos wrote:Вроде собралось после обновления компилятора (см. viewtopic.php?t=8015&start=15)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Решил вытащить сюда текст со схемой:Shaos wrote:Пока не пробовал - буду пробовать на этой неделеSfS wrote:Ну и ладушки. А в железе пробовал ? Работает ?Shaos wrote:Вроде собралось после обновления компилятора (см. viewtopic.php?t=8015&start=15)
Code: Select all
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)
------------------------------------------------------------------------------
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
Ты наверное взял диоды слишком хорошиеShaos wrote: Вобщем для начала собрал схему понижения напряжения - взял 3 диода 1N4001, резистор и конденсатор - получил напряжение 3.6В - нормально или еще понижать?

Я брал КД-какието стеклянные (510 чтоли?). В общем напряжение на клаве было примерно 3.1-3.3 вольта. Мне кажется, что на 3.6 работать должно - но можешь для перестраховки еще один диод воткнуть. Или возьми сопротивление не 10к - а поменьше - скажем 3К. Напряжение чуток упадет.
В общем то я такой вопрос подробно не исследовал, хотя 0.3-0.5 вольта в данном случае не должны влиять - всетаки это клалва - ширпотреб и не рассчитана на прецензионное питание.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Ок - завтра еще похимичу. Вопрос - если включить клаву/индикатор/компорт, то сколько свободной памяти кода и данных останется на моей ATMEGA8535? Это к вопросу об интерпретаторе и, возможно, компиляторе RW1/RW0. И еще я забыл о внешнем флеш-накопителе...SfS wrote:Ты наверное взял диоды слишком хорошиеShaos wrote: Вобщем для начала собрал схему понижения напряжения - взял 3 диода 1N4001, резистор и конденсатор - получил напряжение 3.6В - нормально или еще понижать?. У них падение маленькое.
Я брал КД-какието стеклянные (510 чтоли?). В общем напряжение на клаве было примерно 3.1-3.3 вольта. Мне кажется, что на 3.6 работать должно - но можешь для перестраховки еще один диод воткнуть. Или возьми сопротивление не 10к - а поменьше - скажем 3К. Напряжение чуток упадет.
В общем то я такой вопрос подробно не исследовал, хотя 0.3-0.5 вольта в данном случае не должны влиять - всетаки это клалва - ширпотреб и не рассчитана на прецензионное питание.
Я тут за главного - если что шлите мыло на me собака shaos точка net