Страница 2 из 2
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:32:25
a_skr
можно весь код в студию?
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:36:24
olegkomak
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
Config Pinc.0 = Input
K1 Alias Pinc.0
Config Pinb.0 = Input
K2 Alias Pinb.0
Do
If K1 = 0 Then
Do
Loop Until K1 <> 0
Print "k1"
End If
If K2 = 0 Then
Do
Loop Until K2 <> 0
Print "k2"
End If
Loop
End
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:41:04
a_skr
понятно...
а теперь значение фьюзов CKSEL.
должно быть 0100 - для 8 МГц. по-умолчанию стоит 0001 - 1 МГц.
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:42:43
olegkomak
Спасибо огромное !
Теперь хоть порядок в голове начинает формироваться . Вечером все опробую .
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:44:08
a_skr
в протеусе они тоже выставляются в свойствах контроллера
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:49:39
olegkomak
да - в протеусе все прокатило !
поставил в свойствах МК фьюз 8 МГц и теперь для виртуального терминала скорость обмена тоже ставлю 9600 как и в программе для МК
Огромное спасибо !
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 09:32:51
olegkomak
А еще пнете в нужном направлении ?
В протеус рисуем 2 МК . Один с кнопками , второй с лампами . По UART каждая кнопка зажигает свою лампу на 1 сек .
программа первого МК
Спойлер
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
Config Pinc.0 = Input
K1 Alias Pinc.0
Config Pinb.0 = Input
K2 Alias Pinb.0
Do
If K1 = 0 Then
Do
Loop Until K1 <> 0
Print "k1"
End If
If K2 = 0 Then
Do
Loop Until K2 <> 0
Print "k2"
End If
Loop
End
программа 2-го МК
Спойлер
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
Dim Sk As String * 2
Dim B As Byte
Declare Sub Flushbuf()
Config Portc.0 = Output
L2 Alias Portc.0
Config Portc.1 = Output
L1 Alias Portc.1
Do
Input Sk
If Sk = "k1" Then
L1 = 1
Waitms 100
L1 = 0
Else
If Sk = "k2" Then
L2 = 1
Waitms 100
L2 = 0
End If
End If
Flushbuf
Loop
End
Sub Flushbuf()
Waitms 100
Do
B = Inkey()
Loop Until B = 0
End Sub
Виртуальный терминал подключен для наблюдений .
Все работает на ура , в терминале все команды отображаются при нажатии на кнопки .
Но - почему я не могу вместо нажатия на кнопку ввести команду в терминале и тем самым включить лампу ?
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 09:41:59
a_skr
можете. только источник должен быть какой-то один - или МК1 или терминал. поставим переключатель источника:
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 09:46:03
olegkomak
Я отключал МК 1 - нифига не прокатывало ...
Но у вас все работает !
Чудеса ....
Спасибо !
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 09:55:03
a_skr
ВЫХОД Tx источника соединяют со ВХОДОМ Rx приемника. источник - терминал, приемник - МК2.
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 10:10:57
olegkomak
Да да да - все правильно . а я просто Tx МК1 отключил не подумавши .
PS Варганю удаленное управление с помощью сим900 по TCP протоколу - если кому что надо подсказать - почти собаку на сим900 съел
