Проблема с usart на pic16f876a
|
|
tesla88 |
Дата: Сб, 26.01.2013, 22:32 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
Всем добрый вечер! такая проблема, подключил к pic16f876a комп через max232, но что то не приёма не передачи, немогу понять в чём дело, по железу вроде всё нормально, может кто подскажет, вот код -
|
|
|
|
ivan_fd |
Дата: Сб, 26.01.2013, 23:11 | Сообщение # 2 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Самое первое - это, где биты конфигурации?
Проверьте в Протеусе, что будет на выходе.
|
|
|
|
tesla88 |
Дата: Вс, 27.01.2013, 16:59 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
а нельзя ли по подробней , какие именно конфигурации должны быть? просто везде разные настройки, я уже запутался
|
|
|
|
доцент2 |
Дата: Вс, 27.01.2013, 19:23 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
293
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
я знаю что такое бит конфигурации, но мне не понятно какие именно конфигурации нужны для usart? и в какое состояние назначать порты тоже непонятно, можно привести пример для конкретно моего случая, с pic16f876a?
|
|
|
|
доцент2 |
Дата: Вс, 27.01.2013, 23:40 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
293
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
на форуме есть такая тема "PIC16f628 и RS232 (HSEROUT HSERIN)", там настройки рассматривают.
|
|
|
|
tesla88 |
Дата: Пн, 28.01.2013, 12:33 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
спасибо за совет, вечером попробую, кстати такой вопрос - мерил напряжение на rx и tx на контролере, и там и там 5 вольт висят постоянно, и лишь в момент передачи с компа сигналов напряжение меняется на 4-5 миливольта, мне кажется так быть не должно, как проверить макс232 на работоспособность? может в этом проблема?
Сообщение отредактировал
tesla88 - Пн, 28.01.2013, 12:34
|
|
|
|
доцент2 |
Дата: Пн, 28.01.2013, 13:07 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
293
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
При передаче сигнала напряжение лучше лучше мерить осцилографом, заодно и сигнал видно. Сам с этим сталкивался, вольтметр показывал значительную ошибку при измерении на разных частотах. А проверить МАХ легко, там же четыре элемента. Например, 11 пин на 0 - на 14 единица и наоборот. Я так проверял прохождение сигнала когда собирал первый свой программатор.
|
|
|
|
tesla88 |
Дата: Пн, 28.01.2013, 18:22 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
В общем после небольшого изменения программы всё заработало, вот только непонятно почему когда я отправляю на комп "1" в терминале мне отбражается то "1" то "q", а когда я отправляю с терминала "1" то получаю на контролере 49 и за ним 13 , пречём что бы я не отправлял всегда в конце выходит 13, вроде не пятница и не хэлуин, что то тут не так, вот код
|
|
|
|
Matrix252005 |
Дата: Чт, 31.01.2013, 10:05 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
Большое спасибо, попробую сегодня разобраться, по ходу пъесы возник ещё один вопрос - есть ли какие то определённые команды управления терминалом ( если да, то как должен выглядеть синтаксис подобной команды при отправке с контроллера?), и самое интересное - когда отправляю на терминал - HRSOut ["запуск основной программы"] , всё прекрасно отображается, но когда пишу что либо на английском отображает всякую чушь, хотя в хэлпе к протону приведён именно такой пример синтаксиса.
Сообщение отредактировал
tesla88 - Чт, 31.01.2013, 14:18
|
|
|
|
Matrix252005 |
Дата: Чт, 31.01.2013, 14:39 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
Matrix252005, спасибо за совет, будем пробовать. Добавлено (31.01.2013, 14:54) --------------------------------------------- Matrix252005, спасибо за совет, будем пробовать.
|
|
|
|