2016-10-22 9 views
2

У меня есть слово, что я хочу, чтобы вызвать на изменение PIN:Выполнить FlashForth слово, когда штифт изменения

: example 
    ." Hello, world! " 
;i 

Я использую External Interrupt Request 1, который вектор прерывания нет. 3 в соответствии со стр. 65 таблицы данных и this diagram I use.

' example 3 int! 
ei 

Когда я пытаюсь изменить значение булавки (в данном случае контакт 3), ничего не происходит.

Я что-то не так?

ответ

1

Есть несколько вещей неправильно с кодом, я написал выше, но я получить работу после того, как смотреть на других примерах и чтение данных листа:

\ Pin Change Interrupt 0 
4 constant pcint0 

\ Pin Change Mask Register 0 
$6b constant pcmsk0 

\ Pin Change Interrupt Control Register 
$68 constant pcicr 

ram variable example 

: example+1 
    1 example +! 
;i 

: int-enable 
    ['] example+1 pcint0 int! 
    ei 
; 

int-enable 

%00000001 pcmsk0 mset 
%00000111 $68 mset 

\ Shorting pin 8 will now increment `example` variable.