Перейти к содержанию

Ребят предлагаю САБЖ!


Mr.47

Рекомендуемые сообщения

можно сделать!

А можно ещё вестового посылать. Или по голубиной почте отправлять. Или сигнальные ракеты пускать. Красна значит +1 к имеющейся температуре. Зелёная значит -1.

 

Зы - Си сцуко тяжело идёт.

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 1.2k
  • Created
  • Последний ответ

Mpako6ec.

Согласен целесообразность идей не блещет.

Но перебирая кучу бесполезностей, придёшь к идеалу!

 

Ибо самая бессмысленная бессмыслица в смысле своего осмысления имеет свой смысл.

 

СИ прикольный язык. Много лишнего, но прикольный. Я не хотел его изучать, но пришлось.

Ссылка на комментарий
Поделиться на другие сайты

Ибо самая бессмысленная бессмыслица в смысле своего осмысления имеет свой смысл.

Познание как высшая ценность? Ну да. Но приоритеты никто не отменял. Любая доступная нам сейчас технология, будь то персональный компьютер или столовый нож в том или ином виде сначала были чисто военными технологиями. Сначала осваиваем (осмысляем, если в контексте цитаты) то что нужно больше всего, потом по нисходящей=)

Ссылка на комментарий
Поделиться на другие сайты

Вот кстати гляньте, полезная вещь!

http://www.captain.at/electronic-atmega-mmc.php

 

На неделе буду тестить. Расскажу о результатах.

Ссылка на комментарий
Поделиться на другие сайты

Изучаю одну книжку про сопряжение компьютера с внешними устройствами.

Там, в частности, описывается команда outp(address, n) для передачи данных, где address это адрес СОМ-порта в шестнадцатеричной системе, а n символ, который нужно передать.

И соответственно inp(Address) для принятия. Но обе они сделаны для TxD и RxD.

 

А вот команд для получения и изменения состояния каждой ножки в отдельности я там не нашел. Не подскажете?

Ссылка на комментарий
Поделиться на другие сайты

Mpako6ec.

 

Это команды библиотеки INPOUT32.DLL.

Её можно взять отсюда --http://www.t47t.narod.ru/INPOUT32.DLL

Библиотека работы с ЛПТ портом.

 

Для работы с СОМ портом можно юзать MSCOMM.dll

МОгу прислать листинг проги которую я написал с помощью этой библиотеки. Я тестирую СОМ порт ей!

Ссылка на комментарий
Поделиться на другие сайты

INPOUT32.DLL

К ней можно через Си обрашаться и каждую ногу в отдельности мониторить и управлять? Пойду качну...

 

Я тестирую СОМ порт ей!

Там ко всем выводам есть доступ? Выкладывай =) Только комментариев побольше;)

Ссылка на комментарий
Поделиться на другие сайты

Mpako6ec.

К ней можно через Си обрашаться и каждую ногу в отдельности мониторить и управлять?---да только ЛПТ порта!

Там ко всем выводам есть доступ?--- не ко всем! Только RX TX GND. Больше и не нужно.

Только комментариев побольше--ок

Ссылка на комментарий
Поделиться на другие сайты

Программа написана в Visual Basic:

 

Public comm, commandsend As String ' Определяем глобальные строки

Public ff As Integer ' Определяем глобальные переменные

 

Private Sub closeport_Click()

tim1.Enabled = False ' При нажатии "закрыть порт" делаем неактивные некоторые кнопки

c1.PortOpen = False ' Закрываем порт

openport.Enabled = True ' Кнопку "открыть порт" делаем активной

ch.Enabled = False ' Кнопку "зациклить" делаем неактивной

np.Enabled = True ' Текстбокс "номер порта" делаем активной

speed.Enabled = False ' Кнопку "скорость порта" делаем неактивной

txtSend.Enabled = False ' Текстбох "комманда" делаем неактивной

End Sub

 

Private Sub Form_Load()

c1.Settings = (speed & ",n,8,1") ' При загрузке формы выставляем параметры порта

End Sub

 

Private Sub Form_Unload(Cancel As Integer)

If c1.PortOpen = True Then c1.PortOpen = False ' При выгрузке формы закрываем порт автоматически

End Sub

 

Private Sub np_Click()

np = "" ' При нажатии на Текстбокс "номер порта" автоматически очищаем его

End Sub

 

Private Sub openport_Click()

On Error GoTo 1 ' При какой-либо ошибке переход на метку 1

If c1.PortOpen = False Then ' Если порт закрыт

c1.CommPort = Val(np) ' Выставляем параметры, деактивируем некоторые кнопки

c1.PortOpen = True ' И открываем порт

tim1.Enabled = True

speed.Enabled = True

txtSend.Enabled = True

End If

openport.Enabled = False: np.Enabled = False ' Делаем кнопку "Открыть порт" не активной, и поле "номер порта"

ch.Enabled = True ' Чек "Зациклить" сделать активным

txtSend.SetFocus: GoTo 2 ' Передать фокус на поле "команда"

1

z = MsgBox("COM" & np & " не существует, либо этот порт использует другая программа.", vbOKOnly, "Ошибка при открытии порта")

2

End Sub

 

 

Private Sub speed_Click() ' Выбор скорости порта

If c1.PortOpen = True Then c1.PortOpen = False

c1.Settings = (speed & ",n,8,1")

If c1.PortOpen = False Then c1.PortOpen = True

End Sub

 

Private Sub terminal_Change() ' Чтоб в поле листа команд всегда скрол вниз листал

terminalSelStart = Len(terminal.Text)

terminal.SelLength = Len(terminal.Text)

End Sub

 

Private Sub terminal_DblClick() ' Очистить поле листа команд при двойном клике.

terminal = ""

End Sub

 

Private Sub tim_Timer() ' Таймер бесконечно принимает команды и записывает (если они пришли) в поле листа команд

If c1.PortOpen = True Then

ss = c1.Input:

If ss <> "" Then terminal = terminal & "->" & ss & vbCrLf

End If

 

End Sub

 

 

Private Sub tim1_Timer() ' Таймер посимвольно посылает команду, которую набрали, если чек "зациклить" с галочкой.

If ch.Value = 1 Then

If txtSend.Text <> "" Then

For a = 1 To Len(txtSend)

dd = Mid(txtSend, a, 1)

c1.Output = dd

Next

c1.Output = Chr(13)

terminal = terminal & "<-" & txtSend & vbCrLf

End If

End If

End Sub

 

 

Private Sub txtSend_KeyPress(KeyAscii As Integer) ' При нажатии клавиши

If KeyAscii = 13 And c1.PortOpen = True Then ' Если нажат ентер, то передать посимвольно команду в порт

ff = 0

If txtSend <> "" Then ' Если команда не равна пустоте

For a = 1 To Len(txtSend)

dd = Mid(txtSend, a, 1)

c1.Output = dd

Next

c1.Output = Chr(13)

terminal.Text = terminal.Text & "<-" & txtSend & vbCrLf

txtSend = ""

End If

End If

End Sub

Ссылка на комментарий
Поделиться на другие сайты

L-team

Спасибо, но мне это мало поможет, так-как визуальный бейсик я не знаю, и мне бы какнибудь дорваться до DTR, DSR, RTS и CTS=) Ну не ужели нельзя эти ноги мониторить?

Ссылка на комментарий
Поделиться на другие сайты

НА VISUAL BASIC можно!

Под ХР? Пойду книжками и компилятором разживусь...

Вот так вот я из физика постепенно превращаюсь в недопрограмиста. А в Си к тем ногам никак нельзя обратиться?

Ссылка на комментарий
Поделиться на другие сайты

Mpako6ec.

 

MSComm1.DTREnable =True ---- это в ВБ сделать DTR=1

MSComm1.DTREnable =False ---- это в ВБ сделать DTR=0

 

MSComm1.RTSEnable =True ---это в ВБ сделать RST=1

MSComm1.RTSEnable =False ---это в ВБ сделать RST=0

 

MSComm1.Settings = ("9600,n,8,1") --- это настройки установить

 

 

Такие же команды и в С+.

Ссылка на комментарий
Поделиться на другие сайты

Mpako6ec.

СОМ-порт сейчас уже не ставится на метаринки. --- Так USB кабель соедини! И получишь тот же СОМ порт.

Ссылка на комментарий
Поделиться на другие сайты

Mpako6ec.

Ну это же обычный датчик Холла.--- да

Сигнал слабый или помех дофига? --- не знаю!

 

Если полярность перепутать, он сгорит?

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.




×
×
  • Создать...