|
Кольцевой буфер не успевает себя сдвигать до прихода нового байта.., Помогите найти решение. |
|
|
|
Nov 9 2011, 19:43
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Добрый день. Столкнулся с задачей, которую никак не могу решить. Имеется кольцевой буфер UART на 150 байт. По приходу байта вызывается прерывание, где происходит его запись и сдвиг всего буфера. Но вот незадача, скорость UART 115200, а частота МК 9216кГц. В результате я имею запас всего 80 тактов, которых естественно не хватает на сдвиг этого буфера. Что можно придумать? Спасибо. P.S. на данной скорости UART работает стороннее устройство и ее изменять нельзя. Частота МК почти максимальная, т.к. питание 3В.
|
|
|
|
|
 |
Ответов
|
Nov 11 2011, 14:50
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(Flexz @ Nov 11 2011, 16:46)  Ясно написано,.... при получении команды не позже чем через нцать мкс (точное число ен помню больше 100 , но меньше 500)... Расшифровываю: 100< X<500 Чему равен X когда надо отправить ответ? Ну как минимум сто . Т.е не раньше .Запятую поставил я - правила грамматики. Цитата и "сидим в прерывании" это вы сами придумали - ничего подобного , это же Ваш принцип сидеть там до упора.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Nov 11 2011, 18:19
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(ILYAUL @ Nov 11 2011, 20:50)  Цитата(Flexz @ Nov 11 2011, 15:47)  1. Принимаем команды по наложению OSD, шина RS485 абонентов много, при получении команды не позже чем через нцать мкс (точное число ен помню больше 100 но меньше 500) следует отправить подтверждение приема.
Расшифровываю: 100< X<500 Чему равен X когда надо отправить ответ? Ну как минимум сто . Т.е не раньше . У вас явные проблемы с чтением  Расшифровываю правильно : ответить надо не позже, чем X мкс, где 100 < X < 500. Про "не раньше" там нет и не было.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Nov 11 2011, 18:45
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(AHTOXA @ Nov 11 2011, 22:19)  Расшифровываю: 100< X<500 Чему равен X когда надо отправить ответ? Ну как минимум сто . Т.е не раньше . У вас явные проблемы с чтением Расшифровываю правильно : ответить надо не позже, чем X мкс, где 100 < X < 500. Про "не раньше" там нет и не было. Попробуйте подумать ещё чуть чуть. Вы всё для себя написали сами
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
Сообщений в этой теме
Alt.F4 Кольцевой буфер не успевает себя сдвигать до прихода нового байта.. Nov 9 2011, 19:43 ILYAUL Проц -то какой? И зачем сдвигать весь буффер? Nov 9 2011, 19:49 GinRider Зачем сдвигать буфер? Не проще ли писать по следую... Nov 9 2011, 19:49 DpInRock А зачем его сдвигать?
Есть такое понятие - голова ... Nov 9 2011, 19:51 rx3apf Цитата(Alt.F4 @ Nov 9 2011, 23:43) Имеетс... Nov 9 2011, 19:52 ILYAUL Много не понятного , сразу все 150 принимаются и п... Nov 9 2011, 20:00 silverio Здесь доходчиво написано:
http://chipenable.ru/in... Nov 9 2011, 21:01 Alt.F4 Дело в том, что мне надо вылавливать из этих 150ба... Nov 10 2011, 07:07 Сергей Борщ QUOTE (Alt.F4 @ Nov 10 2011, 10:07) Таким... Nov 10 2011, 07:30 xemul Цитата(Alt.F4 @ Nov 10 2011, 11:07) Дело ... Nov 10 2011, 08:33 ILYAUL Цитата(Alt.F4 @ Nov 10 2011, 11:07) Дело ... Nov 10 2011, 09:46 esaulenka Цитата(Alt.F4 @ Nov 9 2011, 23:43) Но вот... Nov 10 2011, 09:04 demiurg_spb Размер кольцевого буфера лучше иметь кратным степе... Nov 10 2011, 09:40  Demeny Цитата(demiurg_spb @ Nov 10 2011, 13:40) ... Nov 11 2011, 10:03 Alt.F4 Данные в этих 150байтах лежат не в строгом порядке... Nov 10 2011, 14:46 demiurg_spb У вас идеология неверная. Уарт заполняет фифо и то... Nov 11 2011, 05:05  barabek Цитата(demiurg_spb @ Nov 11 2011, 15:05) ... Nov 11 2011, 05:53   demiurg_spb Цитата(barabek @ Nov 11 2011, 08:53) А ес... Nov 11 2011, 06:18 Flexz При желании разбирать входные данные можно вообще ... Nov 11 2011, 06:25 demiurg_spb Цитата(Flexz @ Nov 11 2011, 09:25) При же... Nov 11 2011, 06:35 Flexz Все относительно и ситуационно.
Дилетантский подхо... Nov 11 2011, 06:52 ILYAUL Цитата(Flexz @ Nov 11 2011, 10:52) Все от... Nov 11 2011, 08:11 demiurg_spb Цитата(Flexz @ Nov 11 2011, 09:52) Часто ... Nov 11 2011, 08:29 DpInRock Для простых программ (относительно простых), с кра... Nov 11 2011, 07:47 _Pasha Цитата(DpInRock @ Nov 11 2011, 10:47) Но ... Nov 11 2011, 09:24 Genadi Zawidowski Автору уже советовали конечный автомат - так как о... Nov 11 2011, 09:19 Flexz Цитата(demiurg_spb @ Nov 11 2011, 11:29) ... Nov 11 2011, 09:47 demiurg_spb Цитата(Flexz @ Nov 11 2011, 12:47) что, к... Nov 11 2011, 10:12 ILYAUL Цитата(Flexz @ Nov 11 2011, 13:47) что, к... Nov 11 2011, 10:18 Nixon Проще закруглять. Одной командой &. Nov 11 2011, 10:07 Alt.F4 Обрабатываю NMEA. Сделал следующим образом:
В памя... Nov 11 2011, 10:15 demiurg_spb Цитата(Alt.F4 @ Nov 11 2011, 13:15) В ито... Nov 11 2011, 10:30 xemul Цитата(Alt.F4 @ Nov 11 2011, 14:15) Обраб... Nov 11 2011, 10:59 Сергей Борщ QUOTE (Alt.F4 @ Nov 11 2011, 13:15) В пам... Nov 11 2011, 11:41 _Pasha Цитата(Alt.F4 @ Nov 11 2011, 13:15) Обраб... Nov 11 2011, 13:38 kolobok0 Цитата(Alt.F4 @ Nov 11 2011, 14:15) ...В ... Nov 11 2011, 19:15 Flexz Как хотите)
1. У ТС проблемы с временем выполнения... Nov 11 2011, 10:25 Flexz Цитата(ILYAUL @ Nov 11 2011, 13:18) 1. Та... Nov 11 2011, 10:30 demiurg_spb Пис, братья!:) Nov 11 2011, 10:36 ILYAUL Цитата(Flexz @ Nov 11 2011, 14:30) зачем ... Nov 11 2011, 10:43  demiurg_spb Цитата(ILYAUL @ Nov 11 2011, 13:43) Я об ... Nov 11 2011, 11:52   ILYAUL Цитата(demiurg_spb @ Nov 11 2011, 15:51) ... Nov 11 2011, 11:56 Alt.F4 ЦитатаПозволю себе усомниться в последнем утвержде... Nov 11 2011, 10:40 demiurg_spb Цитата(Alt.F4 @ Nov 11 2011, 13:40) Специ... Nov 11 2011, 11:45  ILYAUL Цитата(demiurg_spb @ Nov 11 2011, 15:45) ... Nov 11 2011, 11:49 Alt.F4 xemul, спасибо, я уже решил задачу. Из всех NMEA о... Nov 11 2011, 11:08    AHTOXA Цитата(ILYAUL @ Nov 12 2011, 00:45) Попро... Nov 11 2011, 20:50     ILYAUL Цитата(AHTOXA @ Nov 12 2011, 00:50) Мда. ... Nov 11 2011, 21:44      aaarrr Цитата(ILYAUL @ Nov 12 2011, 01:44) Что и... Nov 11 2011, 22:01      Allregia Цитата(ILYAUL @ Nov 11 2011, 23:44) Для т... Nov 12 2011, 09:46 Flexz Каверкать чужие слова, и выдавать свои мысли за чу... Nov 11 2011, 16:46 ILYAUL Цитата(Flexz @ Nov 11 2011, 20:46) Каверк... Nov 11 2011, 17:01 ILYAUL Allregia , aaarrr
Спасибо, за Выше прочтение , но... Nov 12 2011, 10:24 AHTOXA Цитата(ILYAUL @ Nov 12 2011, 16:24) Спаси... Nov 12 2011, 12:59 _Ivana О как интересно! Примерно в то же время, что р... Jan 10 2012, 17:01 _Артём_ Цитата(_Ivana @ Jan 10 2012, 19:01) добил... Jan 12 2012, 12:24 _Ivana ЦитатаЧто за прерывания без флагов, просветите.
Бы... Jan 12 2012, 20:00 _Артём_ Цитата(_Ivana @ Jan 12 2012, 22:00) Был б... Jan 12 2012, 22:10
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|