 |
|
|
|
| Автор |
Сообщение |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 06 Фев 2007, 10:39 Заголовок сообщения: |
|
|
| urry писал(а): | | красиво.. прям начало дипломной... |
Я помню как сам начинал, около 8 лет электроникой не занимался вообще. С появлением потребности начал читать статьи в различной литературе, но сменилось поколение и очень тяжело было вникнуть в суть. Вот и пишу для начинающих.
| urry писал(а): |
а у меня такой вопрос - где-то описано минимальное расстояние между стоповым и стартовым битом ? |
Книга хорошая была по интерфейсам. Длительность бита ты сам считал, стартовый (один) это переход с единицы в ноль длительностью в 1 бит, стоповый это всегда с нуля в единицу длительностью в 1 бит. Т.е. к 8 или 9 прибавляем 2. Насколько я сейчас понимаю стоповые с длительностью 1.5, 2 уже экзотика и нигде не принимается.
На модели посмотреть длительность можно например так.
Значком --> пометил новую стоку которую надо вставить в код, файл указан в начале листинга.
| Код: |
isr.c
if((TXIE)&&(TXIF)){
TXREG = k_ps;
TXIE = 0;//Запрещаем прерывание передатчика
--> RA0= 1; //Подымаем бит для формирования окна передачи
BITSET(sost,SOST1);//Признак посылки
} // для передачи только 1 байта
|
Я не ожидаю в цикле окончания передачи, а периодически опрашиваю бит состояния передатчика
| Код: |
registrator.c
kv_tx(void) //Формирование посылки
{ /* Если передатчик занят выходим для выполнения
* другой работы
*/
if (!TRMT) return ; //Ожидаем окончание передачи
BITSET(syst,ST2);
CCP1CON = 0b00000000;//Выключаем ШИМ
--> RA0= 0; //Сбрасываем бит формирования окна передачи
}
|
Надеюсь ответил на все вопросы. |
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 06 Фев 2007, 11:03 Заголовок сообщения: |
|
|
яне о той длительности спрашивал - между байтами - конец одного и начало следующего .у меня глюк по приему пакета - пропускает байты ... так понимаю, что цепляется следующий за стоповым - стартовый - и уходит в ошибку кадра. Ошибку я не анализирую (пока). байты в пакете у меня идут практически подряд. об этой ошибке говорит то. что пропускаются внутри пакета 2 байта - а первые 2 байта всегда идут без ошибок. Буфер приема 2- х байтовый.
времени обработать прерывание приема у контроллера - много (1838 бод). Ну даже если было бы мало - что с того ? Это принимается без контроллера, на аппаратном уровне. Сегодня попробую чуть подвинуть стартовый и стоповый между собой. |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 06 Фев 2007, 11:12 Заголовок сообщения: |
|
|
| urry писал(а): | у меня глюк по приему пакета - пропускает байты ... так понимаю, что цепляется следующий за стоповым - стартовый - и уходит в ошибку кадра. Ошибку я не анализирую (пока). байты в пакете у меня идут практически подряд. об этой ошибке говорит то. что пропускаются внутри пакета 2 байта - а первые 2 байта всегда идут без ошибок. Буфер приема 2- х байтовый.
|
Насколько я понял Это USART.
Когда я начинал работать с RS232, много провозился. Вопрос решился установкой компаратора на входе RX, т.е., для приема очень важны качественные фронты. Простой транзисторный ключ не проходит, проще логику поставить. |
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 06 Фев 2007, 11:31 Заголовок сообщения: |
|
|
| ок. если пауза ничего не даст - тл2 или са3 попробую. |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 06 Фев 2007, 12:41 Заголовок сообщения: |
|
|
| urry писал(а): | | ок. если пауза ничего не даст - тл2 или са3 попробую. |
Думаю пауза это лишнее. Даже здесь у меня были проблемы с кадром, а передавал я по одному байту. Ошибка кадра это когда контроллер потерялся и не находит стопа. |
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 06 Фев 2007, 12:43 Заголовок сообщения: |
|
|
| я понимаю, что такое ошибка кадра. но ведь хотелось - с минимальными аппаратными затратами... как тема звучит |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 06 Фев 2007, 16:04 Заголовок сообщения: |
|
|
| urry писал(а): | | я понимаю, что такое ошибка кадра. но ведь хотелось - с минимальными аппаратными затратами... как тема звучит |
Прошелся по воздуху, и мне пришло в голову, это ведь и ошибка скорости приема.
Надо учитывать посылая байт фактически уходит 10 бит, тут надо посмотреть, для расчета скорости. |
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 06 Фев 2007, 21:04 Заголовок сообщения: |
|
|
| 2 раза пересчитывал ... да, дело было в расстояниях между байтами. Работает! |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 07 Фев 2007, 11:45 Заголовок сообщения: |
|
|
| urry писал(а): | | 2 раза пересчитывал ... да, дело было в расстояниях между байтами. Работает! |
Поздравляю!, что важно еще скорости приема и передачи должны делится нацело, без остатка. При этом ошибок при приеме меньше будет. |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 09 Фев 2007, 19:12 Заголовок сообщения: |
|
|
Степень надежности прибора всегда закладывается на этапе проектирования, то же можно сказать и о программе, а тем более о приборах с микроконтроллером. Микрочип в своих контроллерах применяет довольно развитую систему возможных сбросов. Анализ, типа сброса, позволит повысить надежность работы программы, а значит и прибора вцелом.
Компилятор «С» от Хайтека имеет множество зарегистрированных названий файлов, одно из них powerup.as. В этом файле описана стартовая процедура, которую компилятор поместит практически сразу после старта и до начала инициализации контроллера. Нет необходимости как-то указывать компилятору о наличии специальной стартовой процедуры, надо просто поместить указанный файл в папку с проектом. Данный файл обрабатывается специальным ассемблером, имеющим некоторые ограничения, но и стартовая процедура не должна быть большой.
Я бы всегда рекомендовал использовать средства предоставляемые контроллером, для повышения надежности устройства или, по крайней мере, уменьшить вред от неправильной работы прибора. Немаловажным фактором повышения скорости разработки так же является стартовая процедура. Как пример можно назвать типичную ситуацию, когда программа «потерялась» и живет своей только ей известной жизнью. Именно для таких случаев предусмотрен дежурный таймер. |
|
| Вернуться к началу |
|
 |
|
 |
Форум по разработке и ремонту электронной техники
-> Микроконтроллеры, процессоры, ПЛИС... |
Часовой пояс: GMT + 2 На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 След.
|
| Страница 4 из 10
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять вложения в этом форуме Вы можете просматривать вложения в этом форуме
|
|