|
|
  |
Нужен совет, По поводу чтения данных с ножки PIO |
|
|
|
Mar 26 2011, 16:59
|

Участник

Группа: Участник
Сообщений: 28
Регистрация: 2-10-10
Пользователь №: 59 884

|
Цитата(aaarrr @ Mar 26 2011, 19:36)  Если кодировка данных совместима с одним из режимов USART'а, и ножка PIO является по совместительству входом RX, то можно. Походу ножка не 5ая, а 9ая. Неужели нельзя как-то переназначить вход RXD? Если нет, то как тогда читать конкретно с 9ой ноги? Погодите... 9ая нога это же RXD Дебаг Юнита! Если настроить его на прием пакетов по 9 бит, то можно считывать информацию через DBGU! Я где-то не прав?
Сообщение отредактировал mr.smart - Mar 26 2011, 17:04
|
|
|
|
|
Mar 26 2011, 17:10
|

Участник

Группа: Участник
Сообщений: 28
Регистрация: 2-10-10
Пользователь №: 59 884

|
Цитата(sergeeff @ Mar 26 2011, 20:08)  Сделайте его пином на вход и по прерыванию читайте. А прерывание будет приходить перед каждым битом разве?
|
|
|
|
|
Mar 26 2011, 18:01
|

Участник

Группа: Участник
Сообщений: 28
Регистрация: 2-10-10
Пользователь №: 59 884

|
Цитата(sergeeff @ Mar 26 2011, 20:41)  Если у вас всегда есть изменение сигнала - можно организовать прерывание по фронтам. Если сигнал с частотой 4800 Гц может не меняться - другое дело. Берете счетчик из числа доступных, программируете его на эти самые 4800 Гц, и по прерыванию счетчика читаете состояние этого пина. А если так случится, что я буду считывать уровень сигнала не с середины тактового периода, а в момент изменения уровня например? Нужно, получается, запустить таймер через 1/9600 секунды после того как будет пойман первый высокий уровень на ноге, чтобы четко снимать сигнал. Ну и вопрос разсинхронизации встает. Поправьте меня если я не прав.
|
|
|
|
|
Mar 26 2011, 18:40
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Цитата(mr.smart @ Mar 26 2011, 22:01)  А если так случится, что я буду считывать уровень сигнала не с середины тактового периода, а в момент изменения уровня например? Нужно, получается, запустить таймер через 1/9600 секунды после того как будет пойман первый высокий уровень на ноге, чтобы четко снимать сигнал. Ну и вопрос разсинхронизации встает. Поправьте меня если я не прав. Ваш сигнал одиночный, без своего сигнала синхронизации. Посему, не к чему синхронизироваться (теоретически ваш сигнал может постоянно стоять в "0" или "1"). Ну и в худшем случае, при использовании своего тактирующего счетчика, будет ошибка на 1 синхротакт (очень важно в вашем случае?).
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|