Записать команды и параметры в регистр процессора PC

Обсуждение программ nnCron и nnCron LITE

Записать команды и параметры в регистр процессора PC

Postby KentAVr » Thu, 22 Dec 2011, 13:00

Доброго..
Собственно задача проста и я так понимаю решаема.. хочу мигать диодиками на клаве .. конечно можно делать это и через сендКей посылая Нум Капс и Скрол.. но на самом деле данное решение не очень меня устраивает.
Если я правильно понимаю, то Форт и ннКрон соответсвенно написаны на асме и логично предположить что у ннКрона есть возможность писать в регистры.
Для управления светодиодами, расположенными на лицевой панели клавиатуры, используется команда 0EDh. Вслед за этой командой в порт 60h необходимо записать байт 1,2,3 или 7...
на Си програмка будет выглядеть таким образом.
Code: Select all
#include <stdio.h>
   #include <conio.h>
   
   int main(void)
   {
     int i;
     outp(0x60,0xed);
   
     // Перед посылкой второго байта команды
     // выполняем небольшую задержку
     for(i=0; i<4000; i++);

     outp(0x60,7);
   
   
     return 0;
   }

Ничего сложного в принцыпе, для Форта я так понимаю задержка не нужна и остается понять только как послать команду 0xed на 60h порт и каким образом пихнуть туда нужный бит.
Форум я копал мануал курил.. чета никак , т.к. с Фортом знаком только 2ой день а с ннКроном третий .. исходники ннКрона мне не помогли, точнее я не нашел лексику СендКей в исходниках хотя подозреваю это могло помочь.
Засим в нетерпении жду вашей помощи и естественно благодарен заранее.
Last edited by KentAVr on Thu, 22 Dec 2011, 13:12, edited 1 time in total.
KentAVr
 
Posts: 13
Joined: Thu, 22 Dec 2011, 12:43

Re: Записать команды и параметры в регистр процессора PC

Postby Morituruz » Thu, 22 Dec 2011, 13:10

Тоже интересно, давно уже есть желание, чтобы Scroll Lock раскладку показывал, да и вообще.
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Записать команды и параметры в регистр процессора PC

Postby AlikasS » Thu, 22 Dec 2011, 15:33

KentAVr wrote:Доброго..
Собственно задача проста и я так понимаю решаема.. хочу мигать диодиками на клаве ..

Клавиатурные индикаторы NumLock, Caps, Scroll ...
User avatar
AlikasS
 
Posts: 1437
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Записать команды и параметры в регистр процессора PC

Postby KentAVr » Thu, 22 Dec 2011, 16:16

оО спс огромное..
прочитал 10 страниц с начала форума и 10 с конца.. каюсь на все 40+ страниц терпения не хватило
KentAVr
 
Posts: 13
Joined: Thu, 22 Dec 2011, 12:43

Re: Записать команды и параметры в регистр процессора PC

Postby VoidVolker » Thu, 22 Dec 2011, 16:47

Ага, поиск - решает. Это я тонко намекаю на ссылку, что светится строчкой ниже красненьким цветом.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Записать команды и параметры в регистр процессора PC

Postby KentAVr » Thu, 22 Dec 2011, 18:33

никогда не пользуюсь форумными поисками.. если точно не помнишь темы или хотяб ключевых слов форумным поиском можно не искать в тупую потраченое время.. )
а гугля и яндекс ничего мне не нашли .. хотя я и не догадался о таком простом вопросе))).. я искал запись в регистры и тд )
Угу .. ссылочку которую обычно все не читают я вижу ))
Еще раз спасибо за ответ..
KentAVr
 
Posts: 13
Joined: Thu, 22 Dec 2011, 12:43

Re: Записать команды и параметры в регистр процессора PC

Postby VoidVolker » Thu, 22 Dec 2011, 18:42

Кстати, не факт, что ОС так вот сразу разрешит работать напрямик с прерываниями.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Записать команды и параметры в регистр процессора PC

Postby KentAVr » Thu, 22 Dec 2011, 18:47

VoidVolker wrote:Кстати, не факт, что ОС так вот сразу разрешит работать напрямик с прерываниями.

Ну из под СИ то работает..


АААА Супер они светятся )) и при этом кнопки не нажимаются, то что надо Спасибо большое!!!!
KentAVr
 
Posts: 13
Joined: Thu, 22 Dec 2011, 12:43

Re: Записать команды и параметры в регистр процессора PC

Postby KentAVr » Thu, 22 Dec 2011, 18:52

Извините еще за один тупой вопрос .. я на форуме искал честно честно..
если нужно чтоб допустим диод мигал каждую секунду.. нужно действительно прописать 60 раз конструкцию он-офф , как советуют на форуме или есть более элегантный вариант.. например чтонить в ини файле поменять?
KentAVr
 
Posts: 13
Joined: Thu, 22 Dec 2011, 12:43

Re: Записать команды и параметры в регистр процессора PC

Postby VoidVolker » Thu, 22 Dec 2011, 19:09

KentAVr wrote:если нужно чтоб допустим диод мигал каждую секунду.. нужно действительно прописать 60 раз конструкцию он-офф , как советуют на форуме или есть более элегантный вариант.. например чтонить в ини файле поменять?

Эта штука называется "цикл".
Code: Select all
#( Задача_200722122011
SingleInstance
Action:
BEGIN
   Num LedInvert
   1000 PAUSE
AGAIN
)#

Кстати, кроме красного линка, строкой ниже есть еще один полезный линк.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Записать команды и параметры в регистр процессора PC

Postby KentAVr » Thu, 22 Dec 2011, 19:14

в сфре кстати описка... не то имя биндит.. соответсвенно не тот диодик мигает..
должно быть так
Code: Select all
EXPORT

   4 CONSTANT Caps   \ KEYBOARD_CAPS_LOCK_ON
   2 CONSTANT Num    \ KEYBOARD_NUM_LOCK_ON
   1 CONSTANT Scroll \ KEYBOARD_SCROLL_LOCK_ON
KentAVr
 
Posts: 13
Joined: Thu, 22 Dec 2011, 12:43

Re: Записать команды и параметры в регистр процессора PC

Postby KentAVr » Thu, 22 Dec 2011, 19:20

VoidVolker wrote:
KentAVr wrote:если нужно чтоб допустим диод мигал каждую секунду.. нужно действительно прописать 60 раз конструкцию он-офф , как советуют на форуме или есть более элегантный вариант.. например чтонить в ини файле поменять?

Эта штука называется "цикл".
Code: Select all
#( Задача_200722122011
SingleInstance
Action:
BEGIN
   Num LedInvert
   1000 PAUSE
AGAIN
)#

Кстати, кроме красного линка, строкой ниже есть еще один полезный линк.

Хмм.. т.е. у вас бесконечный цикл .. а как из графической оболочки прервать выполнение задачи? .. если просто заэнейблить то задача будет выполняться пока не завершится.. а бесконечный цикл не завершится никогда.
KentAVr
 
Posts: 13
Joined: Thu, 22 Dec 2011, 12:43

Re: Записать команды и параметры в регистр процессора PC

Postby VoidVolker » Thu, 22 Dec 2011, 19:41

Code: Select all
#( Задача_203822122011
SingleInstance
0 VALUE task-stop
Action:
0 TO task-stop
BEGIN
  Num LedInvert
  1000 PAUSE
  task-stop
UNTIL
)#

#( Задача_203922122011
NoActive
Action:
-1 TO task-stop
)#

И далее в меню крона просто запустить вторую задачу. Можно даже их повесить на горячие клавиши.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Записать команды и параметры в регистр процессора PC

Postby KentAVr » Thu, 22 Dec 2011, 20:07

Спасибо большое за идею.. логика процесса ясна.. в отличии от логики Фронта ))
Еще раз спасибо.. вот сижу мигающими диодиками любуюсь)
KentAVr
 
Posts: 13
Joined: Thu, 22 Dec 2011, 12:43

Re: Записать команды и параметры в регистр процессора PC

Postby Morituruz » Thu, 22 Dec 2011, 21:20

На WinServer2003x64 в терминале не работает, т.е. прямо из консоли не вкл и не выкл.
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Next

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Bing [Bot] and 7 guests

cron