реклама на сайте
подробности

 
 
> RS232, Кто нибудь писал в CCS интерфейс со скоростью 230400?
automation_man
сообщение Mar 31 2008, 13:38
Сообщение #1





Группа: Новичок
Сообщений: 13
Регистрация: 14-09-07
Пользователь №: 30 539



Кто нибудь писал в CCS интерфейс со скоростью 230400? Это вообще реально?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
bzx
сообщение Apr 1 2008, 08:33
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Цитата(automation_man @ Mar 31 2008, 17:38) *
Кто нибудь писал в CCS интерфейс со скоростью 230400? Это вообще реально?

Тип компилятора тут вообще ни причём. Главное кварц подобрать, чтобы делитель целым был.


--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
MaxPIC
сообщение Apr 1 2008, 20:57
Сообщение #3


специалист
***

Группа: Свой
Сообщений: 279
Регистрация: 3-05-07
Из: г. Москва
Пользователь №: 27 506



Да, писал, реально. На PIC18F4520. Вместо COM-порта использовал кабель USB-to-COM.
Go to the top of the page
 
+Quote Post
automation_man
сообщение Apr 2 2008, 12:26
Сообщение #4





Группа: Новичок
Сообщений: 13
Регистрация: 14-09-07
Пользователь №: 30 539



А если кварц 9216 кГц с PLL 18F252 хватит скорости? а то только 57600 MODBUS RTU завелся. На 115200 то есть то нет связи. Интерфейс кстати 485.
Go to the top of the page
 
+Quote Post
MaxPIC
сообщение Apr 2 2008, 17:17
Сообщение #5


специалист
***

Группа: Свой
Сообщений: 279
Регистрация: 3-05-07
Из: г. Москва
Пользователь №: 27 506



Должен, а почему бы и нет. (если PLL это типа HS PLL)
Go to the top of the page
 
+Quote Post
automation_man
сообщение Apr 3 2008, 04:51
Сообщение #6





Группа: Новичок
Сообщений: 13
Регистрация: 14-09-07
Пользователь №: 30 539



Цитата(MaxPIC @ Apr 2 2008, 21:17) *
Должен, а почему бы и нет. (если PLL это типа HS PLL)

Ну да. Ощущение что нехватает времени в 4 байта для подготовки ответа. Какие команды для организации меню более оптимальны? Я использую switch. Может стоит пользоваться старым добрым if?
Go to the top of the page
 
+Quote Post
dac
сообщение Apr 3 2008, 08:25
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482



зависит от кол-ва пунктов, для себя как-то считал, на маленьком числе (до 10) быстрее будет IF
Go to the top of the page
 
+Quote Post
automation_man
сообщение Apr 3 2008, 12:17
Сообщение #8





Группа: Новичок
Сообщений: 13
Регистрация: 14-09-07
Пользователь №: 30 539



и на 230400 без проблем должно заводиться?
Go to the top of the page
 
+Quote Post
MaxPIC
сообщение Apr 3 2008, 20:14
Сообщение #9


специалист
***

Группа: Свой
Сообщений: 279
Регистрация: 3-05-07
Из: г. Москва
Пользователь №: 27 506



По поводу времени формирования ответа, вопрос сложный. Надо смотреть ассемблерный код, который сформировал компилятор. Кстати, сразу же отмечу, что если обработка буфера USART'а происходит в прерываниях (а оно скорее всего именно так), то внимательно посмотрите, чего там добавит компилятор. Зачастую, если задача позволяет, лучше написать такую программу на ассемблере, тогда можно выжать максимум из МК (и 230400). Навскидку, для приёма потока 230400 бит/сек потребуется 230400/8 (если в посылке 8 бит, а не 9) раз обработать принятую информацию. МК работает на 10 МГц (максимум от HSPLL). Значит на обработку одного байта потребуется 10000000/(230400/8)=347 тактов. Обработка принятых данных скорее всего будет осуществляться в прерываниях. Процесс обработки одного байта пусть будет порядка 250 тактов (для проги, написанной на С). Тогда у Вас на процесс приёма будет тратиться порядка 70 % ресурсов проца. А что дальше делать с этимим данными и отправлять ли ответ на комп - я не знаю, зависит от задачи, но у Вас остаётся на это только 30%. Данное соотношение можно легко изменить в сторону 30/70, т.е. на приём тратить только 30%, но тогда всю прогу надо писать на асме. Решение на чём писать принимать Вам.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01399 секунд с 7
ELECTRONIX ©2004-2016