Титла: проблем с четенето от паралелния порт Публикувано от: Boiler в Aug 24, 2006, 18:29 Опитвам да чета данни от паралелния порт, посредством програма на С, но четенето не се осъществява. Адресът от който чета е BASEPORT+1, като BASEPORT = 0x378 (в биоса го проверих че е толкова). Осигурявам си права над порта чрез ioperm() и записа е успешен, но прочитането на 4 байта от гореспоменатия регистър не става. Да знае някой, дали няма несто което пропускам да направя. Четенето извършвам чрез inb().
Титла: проблем с четенето от паралелния порт Публикувано от: VladSun в Aug 26, 2006, 15:22
Това е за четене, ама ти го давам за да попитам защо BASE+1 адрес? Титла: проблем с четенето от паралелния порт Публикувано от: Boiler в Aug 28, 2006, 18:02 това не е за четене, а за запис! BASEPORT+1, защото там има 5 бита които могат да се четат и ми трябват. Намерих решение на проблема, трябваше да направя шифт надясно с 3 позиции за да чета вярно.
Титла: проблем с четенето от паралелния порт Публикувано от: VladSun в Aug 28, 2006, 18:06 Така де, запис е
![]() Ще дадеш ли сорса да го видя? Титла: проблем с четенето от паралелния порт Публикувано от: Boiler в Aug 29, 2006, 16:53 фрагмента от програмата е:
temp0 = inb(BASEPORT+1); temp0=temp0>>3; Така се прочитат четирите байта които ми трябват и се слагат в младшата тетрада. Готово! Благодаря за отговорите. |