usart прерывание - Страница 2 - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » usart прерывание
usart прерывание
ivan_fd Дата: Вт, 16.04.2013, 15:15  |                                                                                                                Сообщение # 16
Группа: Модераторы
Ранг:  Специалист
Сообщений: 882
Репутация: 47   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

С кварцем 9.216 МГц и включенным PLL ошибка на скорости 115200 составляет 0.004%, что даже меньше чем у Вас с 20 МГц, и 9600.

А внешний тактовый, так в даташите написано, что максимум 4МГц.


Меня все время преследуют умные мысли...но я быстрее!!!
ЯНДЕКС Дата: 16.04.2013
anatol Дата: Вт, 16.04.2013, 15:19  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 535
Репутация: 13   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

По первому вопросу. Используйте кварц кратный частоте передачи RS232 целое число раз.
Фирма ОВЕН - 9.216 МГц/115200=80. И еще наверняка есть умножение частоты  в 18f4550.
Все есть в даташите.
MiXaS Дата: Вт, 16.04.2013, 17:30  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Понятно спасибо!!!

Добавлено (16.04.2013, 17:30)
---------------------------------------------
Если почитать даташит на 18f4550, то можно сделать вывод, что ОВЕН поставили самый высокочастотный кварц для частоты 115200. И скорее всего включили PLL, который работает с кварцами до 10 МГц и умножает частоту в 4 раза. Ну, тогда следующий вопрос. Proton как в протоне обЪявить 9,216 МГц? Наверно, через ассемблеровские команды? Или приям так можно? xtal = 9.216 ???
Спасибо!

anatol Дата: Вт, 16.04.2013, 20:40  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 535
Репутация: 13   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Вот это в Help - Proton Compiler Manual  в Declare смотрели?
Цитата
Oscillator Frequency Declare.
12-bit core device XTAL values:
Declare Xtal 4, 8, 10, 12, 16, or 20.
Standard 14-bit core device XTAL values:
Declare Xtal 3, 4, 7, 8, 10, 12, 14, 16, 19, 20, 22, or 24.
Enhanced 14-bit core device XTAL values:
Declare Xtal 3, 4, 7, 8, 10, 12, 14, 16, 19, 20, 22, 24, 32 or 48.
18F device XTAL values:
Declare Xtal 3, 4, 7, 8, 10, 12, 14, 16, 19, 20, 22, 24, 25, 29, 32, 33, 40, 48, or 64.
Inform the compiler what frequency oscillator is being used.
Some commands are very dependant on the oscillator frequency, Rsin, Rsout, DelayMs, and
DelayUs being just a few. In order for the compiler to adjust the correct timing for these commands,
it must know what frequency crystal is being used.
The Xtal frequencies 3, 7, 14, 19 and 22 are for 3.58MHz, 7.2MHz, 14.32MHz, 19.66MHz,
22.1184MHz and 29.2MHz respectively.

If the Declare is not used in the program, then the default frequency will be of an unknown
state.

Компилятор на работу влияет лишь косвенно - расчитывая задержки. При отсутствии необходимых частот берется ближняя. правильные тайминги формируются с помощью ассемблера.

Сообщение отредактировал anatol - Вт, 16.04.2013, 20:45
MiXaS Дата: Ср, 17.04.2013, 09:02  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Так, примерно понял. В том то и дело, что пик хочу заточить под длительную работу USART. Поэтому придется ассемблер напрягать. Ок! Спасибо! Буду пробовать.

Добавлено (17.04.2013, 09:02)
---------------------------------------------
В ассемблере я как питекантроп с 5 iphone-ом.
Подскажите, я ввел вот такую строку @ #define __Xtal 9.216 в Protone. Он не ругнулся. Будет работать?? wink
Спасибо!

Сообщение отредактировал MiXaS - Ср, 17.04.2013, 09:03
anatol Дата: Ср, 17.04.2013, 11:47  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 535
Репутация: 13   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Зачкм пишу ХЗ?
Standard 14-bit core device XTAL values:
Declare Xtal 3, 4, 7, 8, 10, 12, 14, 16, 19, 20, 22, or 24.

Перевожу Стандартное семейство контроллеров XTAL выбирается из значений Declare Xtal 3 ( 4, 7, 8, 10, 12, 14, 16, 19, 20, 22, или 24)

The Xtal frequencies 3, 7, 14, 19 and 22 are for 3.58MHz, 7.2MHz, 14.32MHz, 19.66MHz,
22.1184MHz and 29.2MHz respectively.


Для значений 3.58MHz, 7.2MHz, 14.32MHz, 19.66MHz[b], 22.1184MHz and 29.2MHz[/b]
Выбирается значение 3, 7, 14, 19 and 22.
Выделил цветом для вас специально. Поймите я не изучал английский. Меня самого напрягает порой перевод, особенно машинный.
ivan_fd Дата: Ср, 17.04.2013, 11:49  |                                                                                                                Сообщение # 22
Группа: Модераторы
Ранг:  Специалист
Сообщений: 882
Репутация: 47   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Что будет работать?

Это Вы просто создали константу __XTal, которая равна 9.216.


Меня все время преследуют умные мысли...но я быстрее!!!
MiXaS Дата: Ср, 17.04.2013, 12:10  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

tongue ого! не думал, что так мозг взорву Вам.
Я понял.
The Xtal frequencies 3, 7, 14, 19 and 22 are for 3.58MHz, 7.2MHz, 14.32MHz, 19.66MHz,
22.1184MHz and 29.2MHz respectively.
Спасибо!
anatol Дата: Ср, 17.04.2013, 12:22  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 535
Репутация: 13   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Цитата (MiXaS)
tongue ого! не думал, что так мозг взорву Вам.
Никакого взрыва мозга. Некрасиво наклонять других по всякому поводу. Это как в инженерных режениях: -"если вы перебрали все возможные варианты решения, а устройство не работает, то почитайте инструкцию по эксплуатации". В Protonе тоже есть Proton Compiler Manual.
И так глюков и заморочек хватает...К сожалению сами слова по мысли не отображаются на экране - меньше народу прошло бы мимо.
MiXaS Дата: Ср, 17.04.2013, 13:50  |                                                                                                                Сообщение # 25
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Я знаю, что есть инструкция. Я её не понял и поэтому у Вас спросил. Извините, что наклонил...
Больше не буду

Добавлено (17.04.2013, 13:50)
---------------------------------------------
Всё окончательно разобрался. Спасибо anatol и ivan_fd!!

Форум Picbasic.ru » Программирование МК » Proton PicBasic » usart прерывание
Страница 2 из 2«12
Поиск: