Назначение пинов при УСАРТе
|
|
vanish |
Дата: Вт, 11.05.2010, 23:50 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
55
Замечания:
±
На сайте с 08.04.2010
Статус:
Offline
|
Здравствуйте. Возник один вопрос.Решил сделать девайс на 16ф628. В случае срабатывания датчиков пик передает сообщение компьютеру в гипертерминал. Вопрос вот в чем : берем во внимание все пины PORTB на них будут висеть датчики, следовательно назначаем их на вход, кроме двух выводов для усарта в 16ф628 это RB1 и RB2 , так вот в строке TRISB=%......... пины RB1 и RB2 назначать на вход или на выход? (Понимаю что в усарте один пин- приемник, другой- передатчик, но хотелось бы утвердиться ). Спасибо.
|
|
|
|
ADMIN |
Дата: Ср, 12.05.2010, 02:29 | Сообщение # 2 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Передатчик - на выход, приемник - на вход. Логично?
|
|
|
|
terrarus |
Дата: Ср, 12.05.2010, 19:22 | Сообщение # 3 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
По большому счету можно и наоборот,, или как Бог на душу положит. Вообще-то без разницы.! Команды работы с USART-ом сами в нужный момент переведут эти пины в нужное состояние. Например можно все эти пины перевести в состояние входов, да еще подцепить на них кнопки и проверять нажаты ли они в то время когда нет обращения к командам приема или записи в USART.
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
|
|
|
|
ADMIN |
Дата: Чт, 13.05.2010, 12:55 | Сообщение # 4 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Считаю, что нужно приучаться к этому сразу, хотя бы потому, что иногда, в целях экономии программной памяти можно не пользоваться командами hserin/hserout, а в цикле выдавать в регистр TXREG для передачи или забирать из RCREG при приеме.
|
|
|
|
vanish |
Дата: Сб, 15.05.2010, 20:16 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
55
Замечания:
±
На сайте с 08.04.2010
Статус:
Offline
|
Вот еще вопрос, не хотел плодить темы, поэтому написал сюда Вот верхушка программы device=16f628a xtal=4 ALL_DIGITAL TRUE #DEFINE HSER_TXSTA 20h #DEFINE HSER_BAUD 2400 #DEFINE HSER_SPBRG 25 Вопрос что означает эта строка #DEFINE HSER_TXSTA 20h (как она вычисляется, или откуда берется цифра 20h?) Последняя строка ,как я понял расчитана по формуле: Значение скорости=Кварц в герцах/ (64(Х+1)) Спасибо.
|
|
|
|
demanik |
Дата: Сб, 15.05.2010, 23:43 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (vanish) Вопрос что означает эта строка #DEFINE HSER_TXSTA 20h (как она вычисляется, или откуда берется цифра 20h?) Эта строка эквивалентна строке: TXSTA = %100000 Запись в регистр настроек передатчика USART. 5-бит разрешение передачи, вот его и утановили в 1 Более подробно почитайте даташит (для 16f628 существует даже рускоязычный) в разделе USART.
Попробуй всё и вся... может быть пол...
|
|
|
|
vanish |
Дата: Вс, 16.05.2010, 21:52 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
55
Замечания:
±
На сайте с 08.04.2010
Статус:
Offline
|
Да, спасибо. Нашел и разобрался.Там на кварце 4 мгц(ассинхронный режим) доступна скорость только 2400, а я голову ломал почему на других скоростях не работает. А кстати чем синхронный режим отличается от ассинхронного? Который из них предпочтительней? Добавлено (16.05.2010, 21.52.52) --------------------------------------------- У кого стоит проблемма, как собрать программатор, тому еще рано заниматься ПИКАМИ
Сообщение отредактировал
vanish - Пн, 17.05.2010, 20:52
|
|
|
|