Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Аппаратные возможности МК серии Atmega » Как сконфигурировать в меге88 INT20 ?


Как сконфигурировать в меге88 INT20 ?

Сообщений 1 страница 12 из 12

1

простое Enable Int20  ругается на синтаксис

0

2

на
On PCINT20 Label1 Nosave
Enable Interrupts
Enable PCINT20

тоже ругается

0

3

темный я, не уверен, но из m88def.dat

[INTS]
INT0=$001 ; External Interrupt0 Vector Address
INT1=$002 ; External Interrupt1 Vector Address
PCINT0=$003     ;Pin Change Interrupt0
PCINT1=$004 ;Pin Change Interrupt1
PCINT2=$005 ;Pin Change Interrupt2
WDT=$006 ;Watchdog Timeout
OC2A =$007 ; Output Compare2 Interrupt Vector Address
OC2B =$008 ; Output Compare2 Interrupt Vector Address
OVF2=$009 ; Overflow2 Interrupt Vector Address
ICP1=$00A ; Input Capture1 Interrupt Vector Address
OC1A=$00B ; Output Compare1A Interrupt Vector Address
OC1B=$00C ; Output Compare1B Interrupt Vector Address
OVF1=$00D ; Overflow1 Interrupt Vector Address
OC0A=$00E ; Output Compare2 Interrupt Vector Address
OC0B=$00F ; Output Compare2 Interrupt Vector Address
OVF0=$010 ; Overflow0 Interrupt Vector Address
SPI =$011 ; SPI Interrupt Vector Address
URXC=$012 ; USART Receive Complete Interrupt Vector Address
UDRE=$013 ; USART Data Register Empty Interrupt Vector Address
UTXC=$014 ; USART Transmit Complete Interrupt Vector Address
ADCC=$015 ; ADC Interrupt Vector Address
ERDY=$016 ; EEPROM Interrupt Vector Address
ACI =$017 ; Analog Comparator Interrupt Vector Address
TWI =$018   ; Irq. vector address for Two-Wire Interface
SPM =$019 ; SPM complete Interrupt Vector Address

это не о том?
а PCINT20 я в даташите (10.3 Interrupt Vectors in ATmega88) тоже не нашел..

0

4

вот из того же m88def.dat

PCINT23 = 7  ; PCMSK2
PCINT22 = 6
PCINT21 = 5
PCINT20 = 4
PCINT19 = 3
PCINT18 = 2
PCINT17 = 1
PCINT16 = 0

0

5

на сколько я понял, писать надо как-то так:

Код:
Pcmsk2 = &B00010000
Enable Pcint2
On Pcint2 Label1 Nosave
Enable Interrupts

Отредактировано EdGull (2008-04-16 12:25:55)

0

6

Короче, не знаю правильно или нет, но у меня так заработало.

0

7

Я с таким столкнулся в тане25,45 с ацп. Простое config adc= не катит, пришлось писать все непосредственно в регистры, что крайне неудобно.После этого я стал все больше смотреть в сторону си.
Вот с тех пор непосредственно в регистр и пишу, чтобы не было таких конфузов

0

8

У меня то же не получилось назначить скажем на пин "TX" через "pcintХ".
С конфигурированием у Баском-а, как-то местами запутано. Сдается мне, что из-за этого может подглючивать контроллер, т.к. конфигурируется не всеми местами правильно...надо проверять.
Вообще сама команда "Config" должна быть проще/нагляднее. Зачем в настройках самой программы (в интерфейсе) есть жесткая привязка к ряду конфигураций по подключению периферии. Не гибко как-то. Возможно конечно в версии 2 это исправили/изменили, но лучше бы там просто была полная конфигурация кристалла сделана и/или в коде. Можно было и просто к проекту привязать распиновку... Я по началу так и думал, увидев в окне свой AVR, но оказалось - это просто справочное пособие/памятка. :)

0

9

подскажите столкнулся с проблемой использования в проекте на mega88 прерываний INT2, INT3 (и выше). Например на такое On INT2 Label компилятор ругается Unknown Interrupt.... Также и в меге48. Версия 1.11.9.8

0

10

до этого писал только для мег8 и 32 и поэтому на автомате и для 88 начал писать INT.. спасибо!

0

11

Как я понял INT1 и PCINT1 работают как разные прерывания. Тоесть int1 можно сразу применять, разрешив его. А pcint1 для начала нужно сконфигурировать так:

Код:
Pcmsk0 = &B00000001
Enable Pcint1
On Pcint1 Label

если не прав поправьте

0

12

кто пробывал засимулировать работу прерываний PCINT в Proteus ? По баскомовскому симулятору прерывания срабатывают, а в протеусе ни вкакую...

0


Вы здесь » Программирование ATMEL в BASCOM. » Аппаратные возможности МК серии Atmega » Как сконфигурировать в меге88 INT20 ?