motofan logo
> 

Программка для работы с LPT, "Управление светодиодом"

ws_MeGa
сообщение 7.6.2014, 11:57


Ветеран
*****

Группа: Пользователи
Сообщений: 500
Регистрация: 20.11.2008
Из: Новосибирск
Пользователь №: 186 604
Модель телефона: Moto X Play
Прошивка: 24.61.52

Рейтинг: 232



В общем есть задание, Написать программу для управление светодиодом(зажечь, потушить, мигать и всё похожее). Можно конечно найти программку уже готовую, точнее я уже нашёл и проверил что так сделать можно. Теперь осталось написать программу, хотя бы самую простейшую, развить её будет довольно просто. Всё что не пытался делать никак не получается :-( .

Язык: C++
Компилятор: MinGW/GCC (Dev-C++)

Пробовал по всякому разному.. например через <windows.h>, а точнее CreateFile->WriteFile, программа пишет что всё норм, записывает, но на выходах как было везде H напряжение, так и осталось.
Начал заново, взял исходный код с просторов интернета, немного переписал под gcc. Код компилируется, программа запускается, но вылетает с ошибкой.

Может кто может помочь?

Код
#include <iostream>
#include <windows.h>
//#include <stdbool.h>

void doLight(unsigned char s){
    asm(
        "movl $0x378,%%edx;"
        "movb %0,%%al;"
        "outb %%al,%%dx;"
        :
        :"r"(s)
//        :"edx","al"
    );
}

int main(){
    while(1){
        doLight(1);
        std::cout<<"Light On!"<<std::endl;
        system("pause");
        doLight(0);
        std::cout<<"Light Off!"<<std::endl;
        system("pause");
    }
    return 0;
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
 
Ответ в темуСоздание новой темы
Ответов
Fenja
сообщение 7.6.2014, 12:28


Авторитет
********

Группа: Модераторы
Сообщений: 5 564
Регистрация: 25.8.2008
Из: г. Пенза
Пользователь №: 179 851
Модель телефона: MotoRazr v3i
Прошивка: MotoUpdate v1.1

Рейтинг: 1756



http://www.kernelchip.ru/pcports/PS004.php тут читал?
Цитата
Хочу чтобы на выводе LPT порта под номером 3 (бит D1 регистра Data) была установлена логическая 1 (т.е. чтобы между ним и землей было +5 В) и на остальных выводах этого регистра (2,4-9 выводы порта) были нули. Пишем код:
int Address = 888;
int data = 2;
Out32( Address, data );

только функция импортируется из внешей библиотеки.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме

Программка для работы с LPT, "Управление светодиодом" · Компьютеры, операционные системы, софт и железо · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17.7.2025, 23:45

Форум живёт: