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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Проблема с usart на pic16f876a
Проблема с usart на pic16f876a
tesla88 Дата: Сб, 26.01.2013, 22:32  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Всем добрый вечер! такая проблема, подключил к pic16f876a  комп через max232, но что то не приёма не передачи, немогу понять в чём дело, по железу вроде всё нормально, может кто подскажет, вот код -
Прикрепления: LCD.bas (3.3 Kb)
ЯНДЕКС Дата: 26.01.2013
ivan_fd Дата: Сб, 26.01.2013, 23:11  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Самое первое - это, где биты конфигурации?

Проверьте в Протеусе, что будет на выходе.
tesla88 Дата: Вс, 27.01.2013, 16:59  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

а нельзя ли по подробней , какие именно конфигурации должны быть? просто везде разные настройки, я уже запутался cry
доцент2 Дата: Вс, 27.01.2013, 19:23  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

биты конфигурации, например:
CONFIG CP_OFF, DEBUG_OFF, WRT_OFF, CPD_OFF, LVP_ON, PWRTE_OFF, WDT_ON, RC_OSC, BOREN_ON, CP_OFF, WDT_ON, WRT_OFF
tesla88 Дата: Вс, 27.01.2013, 20:26  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

я знаю что такое бит конфигурации, но мне не понятно  какие именно конфигурации нужны для usart? и в какое состояние назначать порты тоже непонятно, можно привести пример для конкретно моего случая, с pic16f876a?
доцент2 Дата: Вс, 27.01.2013, 23:40  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

на форуме есть такая тема "PIC16f628 и RS232 (HSEROUT HSERIN)", там настройки рассматривают.
tesla88 Дата: Пн, 28.01.2013, 12:33  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

спасибо за совет, вечером попробую, кстати такой вопрос - мерил напряжение на rx и tx на контролере, и там и там 5 вольт висят постоянно, и лишь в момент передачи с компа сигналов напряжение меняется на 4-5 миливольта, мне кажется так быть не должно, как проверить макс232 на работоспособность? может в этом проблема?
Сообщение отредактировал tesla88 - Пн, 28.01.2013, 12:34
доцент2 Дата: Пн, 28.01.2013, 13:07  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

При передаче сигнала напряжение лучше лучше мерить осцилографом, заодно и сигнал видно. Сам с этим сталкивался, вольтметр показывал значительную ошибку при измерении на разных частотах.
А проверить МАХ легко, там же четыре элемента. Например, 11 пин на 0 - на 14 единица и наоборот. Я так проверял прохождение сигнала когда собирал первый свой программатор.
tesla88 Дата: Пн, 28.01.2013, 18:22  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

В общем после небольшого изменения программы всё заработало, вот только непонятно почему когда я отправляю на комп "1" в терминале мне отбражается то "1" то "q", а когда я отправляю с терминала "1" то получаю на контролере 49 и за ним 13 , пречём что бы я не отправлял всегда в конце выходит 13, вроде не пятница и не хэлуин, что то тут не так, вот код
Прикрепления: My_Project1.bas (4.7 Kb)
Matrix252005 Дата: Чт, 31.01.2013, 10:05  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток!!!

Цитата (tesla88)
...а когда я отправляю с терминала "1" то получаю на контролере 49 и за ним 13...
Так и должно быть!!! "1" в ASCII таблице равняется "49", "13" - если не ошибаюсь - перевод каретки... То есть переход на новую строку.

Добавлено (31.01.2013, 10:05)
---------------------------------------------
Приятного времени суток!!!

tesla88, еще по Вашему вопросу:

Quoted String of Characters: 

\a    Bell (alert) character             $07   
\b    Backspace character             $08   
\f     Form feed character             $0C   
\n    New line character                $0A   
\r     Carriage return character     $0D   
\t     Horizontal tab character        $09   
\v    Vertical tab character            $0B   
\\     Backslash                            $5C      
\"     Double quote character         $22  

Example: - 

Print "HELLO WORLD\n\r" 

Где "\n" - $10, а "\r" - $13

Удачи!!!


THE TRUTH IS OUT THERE.

С уважением, Николай.
tesla88 Дата: Чт, 31.01.2013, 14:10  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Большое спасибо, попробую сегодня разобраться, по ходу пъесы возник ещё один вопрос - есть ли какие то определённые команды управления терминалом ( если да, то как должен выглядеть синтаксис подобной команды при отправке с контроллера?), и самое интересное - когда отправляю на терминал  - HRSOut ["запуск основной программы"] , всё прекрасно отображается, но когда пишу что либо на английском отображает всякую чушь, хотя в хэлпе к протону приведён именно такой пример синтаксиса.
Сообщение отредактировал tesla88 - Чт, 31.01.2013, 14:18
ЯНДЕКС Дата: 31.01.2013
Matrix252005 Дата: Чт, 31.01.2013, 14:39  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

У меня настройка немного другая... 

Declare Hserial_Baud = 19200                 ' Set baud rate to 19200
Declare Hserial_RCSTA = %10010000            ' Enable serial port and continuous receive
Declare Hserial_TXSTA = %00100100            ' Enable transmit and asynchronous mode
Declare Hserial_Clear = On                   ' Clear the buffer before receiving 

В Вашем случае, скорость оставить 9600, еще что заметил:

Declare  All_Digital = OFF ' Êàæäûé ïîðò âûïîëíÿåò ñâîþ ôóíêöèþ ïî óìîë÷àíèþ

Когда я так делаю, у меня возникают проблемы с прогой... Я делаю так:

All_Digital True   

А вот       

PortB_Pullups = OFF   ' Âûêëþ÷èòü ïîäòÿãèâàþùèå ðåçèñòîðû íà PORTB

Лучше писать (по крайней мере, в новом протоне у меня с этим была ошибка) так:

Declare PortB_Pullups Off

Вроде бы все... Пробуйте... Удачи...


THE TRUTH IS OUT THERE.

С уважением, Николай.
tesla88 Дата: Чт, 31.01.2013, 14:54  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Matrix252005, спасибо за совет, будем пробовать.

Добавлено (31.01.2013, 14:54)
---------------------------------------------
Matrix252005, спасибо за совет, будем пробовать.

Форум Picbasic.ru » Программирование МК » Proton PicBasic » Проблема с usart на pic16f876a
  • Страница 1 из 1
  • 1
Поиск: