Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » com port и 16f877a (как правильно)
com port и 16f877a
Ethno Дата: Пт, 27.06.2014, 18:05  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Добавлено (27.06.2014, 18:05)
---------------------------------------------
Вот новый код при нажатии 1 на клавиатуре компа происходит измерение напряжения и передается обратно на комп. У кого какие соображения и изменения по коду?

Device =16F877A
Xtal=20

Declare LCD_Type ALPHA
Declare LCD_DTPin PORTB.4
Declare LCD_ENPin PORTB.3
Declare LCD_RSPin PORTB.2
Declare LCD_Interface 4
Declare LCD_CommandUs 2000
Declare LCD_DataUs 50
Declare LCD_Lines 2

Declare Adin_Res = 10
Declare Adin_Tad = FRC
Declare Adin_Stime = 50

Declare Hserial_Baud = 9600                 ' Set baud rate to 9600
Declare Hserial_RCSTA = %10010000           ' Enable serial port and continuous receive
Declare Hserial_TXSTA = %00100100           ' Enable transmit and asynchronous mode
Declare Hserial_Clear = On

TRISC = %10000000
SPBRG = 129 ' 9600 Baud @ 20MHz, 0,16%
TRISA = %00000111
ADCON1 = %10000000
ADCON0 = %10000001

Dim Index As Word
Dim X As Byte
Dim V As Word

main:
V=0
HSerIn 1000, main1,[ V ]
GoTo main

main1:
If V=103  Then X=X+1: GoTo Start: DelayMS 200
GoTo main

Start:
Index = ADIn 0
HSerOut ["  ", Dec X, ". ", Dec Index / 204.6 ]
Print At 1, 1, "  ", Dec X, ". ", Dec Index / 204.6
Print At 2, 1, Dec V
DelayMS 200
GoTo main

Правда в протеусе все работает а в железе нет

Сообщение отредактировал Ethno - Пт, 27.06.2014, 21:47
MiXaS Дата: Сб, 28.06.2014, 22:56  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

а что такое 103? Если вы отправляете аски код, то 1 в аски это 49 в десятичном или 31 в хекс, а что такое 103 вообще не понятно, контроллер думает также и болтается в маин.
Ethno Дата: Вс, 29.06.2014, 13:16  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Цитата MiXaS ()
а что такое 103? Если вы отправляете аски код, то 1 в аски это 49 в десятичном или 31 в хекс, а что такое 103 вообще не понятно, контроллер думает также и болтается в маин.
В Протеусе реагирует если ставить 103 может он глючит или я что то не догоняю Если инвертировать данные тогда получается что реагирует на 31 но в железе не работает.
Прикрепления: SerialCom7.hex (5.5 Kb) · SerialCom7.dsn (99.5 Kb) · SerialCom7.bas (3.5 Kb)

Сообщение отредактировал Ethno - Вс, 29.06.2014, 18:49
MiXaS Дата: Пн, 30.06.2014, 13:53  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

И снова здрасте!

Если почитать описание команды Hserin, то ваша переменная V должна быть в формате byte, а не word. Как я и говорил терминал при нажатии на кнопку выдает значение 49, а не 103. Протеус почему то переверает данные, которые проходят через преобразователь уровней. Я его выбросил, чуток поправил код и все работает. Даже в железе.
Прикрепления: 9996614.bas (3.6 Kb) · 2884382.dsn (95.3 Kb)
Ethno Дата: Пн, 30.06.2014, 20:53  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Все заработало иногда правда не видит в терминале входящего сигнала иногда исходящего но работает теперь буду пытаться к этому подсоединить радиомодуль HM-TR 433 Rs232
MiXaS Дата: Вт, 01.07.2014, 07:33  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

по—хорошему бы прием сделать через прерывание, тогда будет четко работать. я уже кому-то давал пример поищите.
ЯНДЕКС Дата: 01.07.2014
Ethno Дата: Вт, 22.07.2014, 18:13  |                                                                                                                Сообщение # 22
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Наконец добрался до железа вот приемная часть для компа на HM-TR Плата правда не промыта еще.. Спешил поделится. Все работает. Всем огромное спасибо кто принял участие. Особенно MiXaS

Прикрепления: 9715034.jpg (113.5 Kb)

Сообщение отредактировал Ethno - Вт, 22.07.2014, 18:15
MiXaS Дата: Ср, 23.07.2014, 09:15  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Цитата Ethno ()
Всем огромное спасибо кто принял участие. Особенно MiXaS


Спасибо репутацию не поднимает. sad

Добавлено (23.07.2014, 09:15)
---------------------------------------------
Я рад за Вас! Приятно осознавать, что кому-то могу помочь

Diaz Дата: Сб, 21.11.2015, 06:17  |                                                                                                                Сообщение # 24
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 27
Репутация: 0   ±
Замечания:   ±
На сайте с 10.08.2015

Статус: Offline

Я тоже хочу спросить))) понимаю , что вопрос неприличный, но всё же roll
Пытаюсь подружить PIC 16F876 с MAX232... я правильно понимаю, что 2-ой вывод с провода DB-9 надо подключить к 8 копыту МАКСа, 3 вывод с DB-9 к 7 копыту МАКСа, 9 копыто МАКСа к 18 копыту ПИКа, и 10 копыто МАКСа к 17 коп...выводу ПИКа) или я что то делаю не правильно ? если так , то пожалуйста , объясните что smile пишите в таком случае - как для чайника, сидящего в танке, закопанном в пещере)))) и да, про 5 вывод DB-9(земля) я не забыл :)
ПС если про прошивке программатором ПикКит2 ,с его родной прожкой под мастдай, появляется сообщение вида "ошибка программирования ... 0х00000В(адрес меняется иногда)" - это уже полный смурфец ПИКу ?
Andriy76 Дата: Вс, 22.11.2015, 12:14  |                                                                                                                Сообщение # 25
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 231
Репутация: 10   ±
Замечания:   ±
На сайте с 06.04.2010

Статус: Offline

Не понятно к какому МК PIC пытаетесь подключать . 
Возможно что эта картинка поможет по ссылке .
Иначе можно долго думать что и как .
Broka Дата: Вс, 22.11.2015, 14:34  |                                                                                                                Сообщение # 26
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 253
Репутация: 9   ±
Замечания:   ±
На сайте с 30.09.2009

Статус: Offline

Совсем не давно написал программу для блока инкубатора , у меня там есть вывод на com - порт RS232
Использовал вот такую схему..... всё работает.
Прикрепления: 0996188.gif (8.7 Kb)


Наладчик КИП и А
Сообщение отредактировал Broka - Вс, 22.11.2015, 14:35
Diaz Дата: Чт, 26.11.2015, 02:44  |                                                                                                                Сообщение # 27
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 27
Репутация: 0   ±
Замечания:   ±
На сайте с 10.08.2015

Статус: Offline

Цитата Andriy76 ()
Не понятно к какому МК PIC пытаетесь подключать . Возможно что эта картинка поможет по ссылке .
Иначе можно долго думать что и как .
Пардон, но я рус.. английским по фону написал во второй строчке
Цитата Diaz ()
Пытаюсь подружить PIC 16F876 с MAX232..
надеюсь так заметнее)
Broka - получает устную благодарность ^__^

PS по ссылке . - а ссылка то мёртвая похоже smile у меня переход без результата случается :"( увы :""(

Сообщение отредактировал Diaz - Чт, 26.11.2015, 02:46
xvovanx Дата: Чт, 26.11.2015, 10:27  |                                                                                                                Сообщение # 28
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата Diaz ()
PS по ссылке . - а ссылка то мёртвая похоже у меня переход без результата случается :"( увы :""(

Прекрасно ссылка открывается
Прикрепления: 4710019.jpg (137.2 Kb)

Сообщение отредактировал xvovanx - Чт, 26.11.2015, 10:32
Andriy76 Дата: Сб, 28.11.2015, 18:16  |                                                                                                                Сообщение # 29
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 231
Репутация: 10   ±
Замечания:   ±
На сайте с 06.04.2010

Статус: Offline

Цитата Diaz ()
Цитата Diaz ()Пытаюсь подружить PIC 16F876 с MAX232..
надеюсь так заметнее)

Sorry . Но стиль написания сообщения такой ...
Кроме того для корректного ответа желательно прикрепить к сообщению файл Протеуса и файл для Протона .
Иначе можно долго ждать ответа .
Diaz Дата: Пн, 28.12.2015, 07:10  |                                                                                                                Сообщение # 30
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 27
Репутация: 0   ±
Замечания:   ±
На сайте с 10.08.2015

Статус: Offline

человееекииии!))) Вы тут есть ?) надеюсь, что есть ибо...
подключил я MAX232cpe (какой нашёл) с микроконтроллеру PIC 16F876 и решил с помощью прожки 
Код
'****************************************************************
'*  Name    : test uart max232 part 1 .BAS                    *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2015 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                    *
'*  Date    : 25.12.2015                    *
'*  Version : 1.0                    *
'*  Notes   :                    *
'*          :                    *
'****************************************************************

Device = 16F876
Xtal=4
All_Digital true
TXSTA.5=1 ' setting Transmit Enable Bit
Hserial_Baud 9600 ' Setting Baud rateLow PORTA
loop:
HRSOut "Welcome to Microtronics ",13
HRSOut "===========================",13
Dim x As Byte
For x=1 To 10
HRSOut "7 X ", Dec x, "= ", Dec x * 7 , 13
Next x
HRSOut "===================="
End
испытать свой думсдейдевайс)
результат - кажется ПК сначала по издавал звуки, отдалённо похожие на dial-up модем , связи нету sad терминал от протона ругнулся, терминал V1.9b (думаю вы понимаете о чём я) сначала не увидел ни одного СОМ-порта ,а теперь при запуске выдаёт, не переставая, страшные сообщения : "is not avalied integer value" . Сам МАХ232 к моему удивлению довольно сильно нагрелся (пальцами не выдернуть ибо "бо-бо"))) )
вопрос 1 : что значят эти сообщения ? сом-порт в ПК сдох или что то менее печальное ?
вопрос 2 : нагрев МАХ - нормальное явление или тоже показатель херовости ситуации ?
вопрос 3,4,5 : ПИК перестал обнаруживаться программатором :"( он сдох ? есть ли варианты , почему он мог сдохнуть ? т.е. как я мог накосячить  ? в роде бы всё по даташиту делал ...
ПС обратил внимание на странный "металлический " запах от моего прибора во время подключения к ПК...
ППС спасибо за внимание :)
 а ещё я постарался изменить стиль изложения smile
Форум Picbasic.ru » Программирование МК » Proton PicBasic » com port и 16f877a (как правильно)
  • Страница 2 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск: