Hадежный контроллер нужен........

Jul 27, 2006 Last reply: 19 years ago 886 Replies

Привет Arcady!

06 Aug 06 01:07, Arcady Schekochikhin писал Alex Mogilnikov:

AS> Какое отношение к "строгости" компилятора имеет "неиспользование AS> нестандартных конструкций"?

Hе имею представления.

AS> Что то я не припомню комппилятора который AS> более менее обычные стандартные вещи интерпретирует некорректно и AS> требует танцев с бубном.

Тут неоднократно упоминали например случаи выдачи ошибки в таком коде:

for(int i = 0; i < N; i++) a[i] = 0; int i = 5;

Hазвания этих компиляторов я тоже не помню.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Аэроволны: ментол и эвкалипт для носа, мед и лимон для рота!

Как же нет - это фича которую ты декларировал - включается через #ifdef _USE_AT_ Внимательнее надо, особенно когда лень или нет рук собрать и посмотреть.

Тут я перебрал - неинициализированные данные будут только во время первого прерывания - то есть просто некрасивый глитч.

Значит длина буфера тоже должна стоять под #ifdef! А насчет "не используется" мне просто лень искать одно из твоих первых писем про проект где ты явно заявляешь что фича МОЖЕТ быть использована.

И не надо помнить! Приведенный кусок кода - не код на Си и не будет понят НИКАКИМ компилятором Си.

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Arcady Schekochikhin! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 6 Aug 2006 08:31:29

+0000 (UTC):

AS> Канделябром надо бить за такое! Твой новый код посылает AS> неинициализированное значение TTx все время до передачи первого AS> байта - то есть брейк.

Не байта, а бита. Только он инициализируется, если ты посмотришь программу целиком, там же, где и остальные переменные программного UART'а. И сбавь обороты, я тоже нахамить могу.

dima

formatting link

DO>>> TMR0 = TMR0INIT + 8; /* Reload timer to 70us period */ DEO>> тут вот 8 опять зря поставил переедешь на другой компилер цифру 8 DEO>> опять по программе искать будешь? DO>

DO> Да. У меня поиск в редакторе работает, не знаю как у тебя. и что, по регулярным выражениям ищет? или ты предполагаешь помнить эту константу до того случая когда тебе понадобится ее изменить?

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Arcady Schekochikhin! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 6 Aug 2006 10:36:37

+0000 (UTC):

AS>>>> не знаю насчет дыры - но максимальной длины строка вида AS>>>> "ATTOFF=123\r" AS>>>> длиной в 11 байт в буфер длиной 10 байт ЯВHО не влезет. DEO>>> он говорит что ему нравится этот буфер и то что он в некоторых DEO>>> ситуациях может переполниться - фича, а потому переполнение - DEO>>> лишь следствие кривых рук отправляющего команды :)

DEO>>> так что держись, сейчас он и тебя с землей сравняет ;)

AS> Как же нет - это фича которую ты декларировал - включается через AS> #ifdef _USE_AT_

Но она-то не включена.

Внимательнее надо, особенно когда лень или нет рук собрать и посмотреть.

dima

formatting link



Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Arcady Schekochikhin on Sun, 06 Aug 2006 12:07:27 +0400:

AS>> Канделябром надо бить за такое! Твой новый код посылает AS>> неинициализированное значение TTx все время до передачи первого AS>> байта - то есть брейк.

DEO> да, кстати! DO, в моем diff откуда ты срисовал этот код были DEO> инициализированные данные! срисовываешь, так хоть внимателен будь!

Ничего я у тебя не рисовал, ты предлагал (я легко найду твои письма) вынести из прерывания все, кроме сдвигов, а я просто передвинул вывод в порт. А инициализацию ты легко найдешь, если внимательно посмотришь на строку номер

568.

DEO> ;)

:)

dima

formatting link

Не бита а 1/3 бита.

/*----------- init tuart -------------------------*/ rx_smpl_cntr = 0; rx_state = 0;

tx_smpl_cntr = 0; tx_state = 0;

tx_ok = 0; tidx = iidx = 0;

Вот тут инициализируется переменные программного УАРТа - не вижу TTx.

Да ты в общем и целом не прекращаеш - стиль у тебя такой - так что нечего пугать-то.

Hello, Dmitry! You wrote to Alexander Torres on Sun, 06 Aug 2006 12:19:02 +0400:

DT>>>>> Кстати, иаровцы почему-то прайс-лист не приводят, надо с ними DT>>>>> общаться лично, а этого не хочется. AA>>>>

AA>>>> Года два назад было 5500 евро. DEO>>> интересно кто за эту цену их поделие покупает? AT>>

AT>> Видимо те же, кто покупают Оркад, Пикад и прочее, что стоит гораздо AT>> дороже.

DEO> оркад существенно дешевле стоит

Полная версия - стоит существенно дороже.

With best regards, Alexander Torres. E-mail: snipped-for-privacy@yahoo.com [ Жамству бой !]

Так у тебя всего то 564 строки. Или ты про какой то измененный файл? Ну так в том диффе что ты приводил такого изменения не было, а смотреть твои новые сорсы недосуг, извиняй.

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 06 Aug

2006 11:55:03 +0400:

DO>> #define XTAL 20000000U #define baud_rate 4800U /* DO>> define baud rate */ DO>> #define PS 0 /* TMR0 Prescaler (1) */ DO>> #define TMR0INIT (byte)(256-(0.0000694*XTAL/(4*(1<<(PS+1))))+1) DO>> /*70us*/ DEO> видишь, значит наши усилия даром не пропали и ты чему-то учишься DEO> препроцессор C осваиваешь для правильного применения

Послушай, чудо в перьях, я тебе не хамил и ты мне не хами. Если не умеешь читать, так и скажи.

DEO> не совсем правда пока правильно его применяешь,

Я не нуждаюсь в твоих оценках правильности или неправильности применения, твоего применения пока что никто не видел.

DO>> TMR0 = TMR0INIT + 8; /* Reload timer to 70us period */ DEO> тут вот 8 опять зря поставил переедешь на другой компилер цифру 8 DEO> опять по программе искать будешь?

Да. У меня поиск в редакторе работает, не знаю как у тебя.

DO>> Вполне научный, если знаешь что и зачем тыкаешь. Вот обеспечить DO>> выполнение норма RFI/EMI - это таки ненаучный тык и черная магия, DO>> что, тем не менее, не значит, что этого не надо делать. А тебе я DO>> уже предлагал не морщить брезгливо носик, а взять и показать как по DO>> твоему мнению надо было правильно считать эту константу.

DEO> вот константу в приближении вполне можно доверить считать DEO> компилятору ) DEO> правда не знаю справится ли hi-tech, но что-то в таком духе можно DEO> соорудить:

DEO> void interrupt int_entry(void) DEO> { DEO> asm { DEO> label: nop }

DEO> byte begin_length=label-int_entry; DEO> ...

DEO> а дальше этот begin_length перевести в тики таймера.

Предоставляю тебе почетное право заниматься этой деятельностью. При переезде на другой компилятор правда править прийдется еще больше...

dima

formatting link

AS>

AS> Hе примет - глитч будет только 1/3 бита. многие аппаратные UART'ы отсчет начинают от фронта старт-бита он (старт-бит) собственно затем и нужен чтобы по его началу засинхронизиться. так что это еще надо поглядеть - примет/не примет

PS: на худой конец DO может козырнуть тем что с помощью его trm можно определить метод работы UART ;)

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Arcady Schekochikhin! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 6 Aug 2006 11:06:46

+0000 (UTC):

AS>>> Канделябром надо бить за такое! Твой новый код посылает AS>>> неинициализированное значение TTx все время до передачи первого AS>>> байта - то есть брейк.

AS> Не бита а 1/3 бита.

Ну да. Так что даже и в этом случае ничего страшного, как впрочем и при выдаче break.

AS> /*----------- init tuart -------------------------*/ AS> rx_smpl_cntr = 0; AS> rx_state = 0;

AS> tx_smpl_cntr = 0; AS> tx_state = 0;

AS> tx_ok = 0; AS> tidx = iidx = 0;

AS> Вот тут инициализируется переменные программного УАРТа - не вижу AS> TTx.

Естественно, но в этом файле ты и переменной этой не увидишь, это добавлено в версии 1.02, которую я выложил сегодня. Внимательнее надо быть, а лучше не заниматься бесплодной критикой и поиском несуществующих и несущественных ошибок, а написать свое и показать как надо. Или ягод в ягодицах хватает только на такую вот "критику"? Даже свое начинание с на мой взгляд совершенно бесполезным JAL до ума не довел. При том, что я по-прежнему готов проверить его работу на живом железе (но по-прежнему не готов это отлаживать).

AS> Да ты в общем и целом не прекращаеш - стиль у тебя такой - так что AS> нечего пугать-то.

Гм. Какой стиль? Где я тебе хамил? Если надо, у меня нет проблем...

dima

formatting link

Не примет - глитч будет только 1/3 бита.

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Arcady Schekochikhin! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 6 Aug 2006 10:40:09

+0000 (UTC):

AS>>> не знаю насчет дыры - но максимальной длины строка вида AS>>> "ATTOFF=123\r" длиной в 11 байт в буфер длиной 10 байт ЯВНО не AS>>> влезет.

AS> Значит длина буфера тоже должна стоять под #ifdef! А насчет "не AS> используется" мне просто лень искать одно из твоих первых писем про AS> проект где ты явно заявляешь что фича МОЖЕТ быть использована.

Тут ты прав, но лучше вообще выбросить эту ветку.

dima

formatting link

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 06 Aug

2006 15:00:35 +0400:

DO>>>> TMR0 = TMR0INIT + 8; /* Reload timer to 70us period */ DEO>>> тут вот 8 опять зря поставил переедешь на другой компилер цифру DEO>>> 8 опять по программе искать будешь?

DO>> Да. У меня поиск в редакторе работает, не знаю как у тебя.

DEO> и что, по регулярным выражениям ищет?

Конечно, а у тебя не ищет?

DEO> или ты предполагаешь помнить эту константу до того случая когда DEO> тебе понадобится ее изменить?

Я предполагаю посмотреть что и как делает программа до того, как ее менять. Когда (и если) понадобится.

dima

formatting link

Hi Dmitry!

05 Aug 06 20:45, Dmitry Orlov wrote to Dmitry E. Oboukhov:

DEO>> среда разработки в моем случае вообще одна и та же

DO> В таком случае, _среды_ разработки у тебя просто нет вообще. Или ты DO> таковой громко называешь утилиту make?

а что ты называешь "средой" ? возможность менять параметры компиляции-линковки путем выбора опций ветвистого меню? А если эти параметры будут внутри текстового файла с комметариями, это сразу перестанет быть "средой"? лет 20 назад в редакторе микромир, который ты наверняка "знать не знаю и знать не желаю", можно было нажать три раза кнопку <send> что бы запустить ассоциированную с данным файлом команду, в частности make, а потом еще раз нажать три раза <send> строчкой ниже и запустить на выполнение собраный проект, это нельзя считать "средой разработки"? какая принципиальная разница между "монолитным" IDE, и той же функциональность, только набранной отдельными утилитами?

Slav.

Dmitry,

You wrote to Andrey Arnold:

DT>>> Кстати, иаровцы почему-то прайс-лист не приводят, надо с ними DT>>> общаться лично, а этого не хочется. AA>> Года два назад было 5500 евро. DO> интересно кто за эту цену их поделие покупает?

Тогда нам такие инвестиции были не по карману, посему мы купили ICCAVR, который стоил 500 евро. Hо замечу, что E-Plan, Solid Edge, и прочие программы стоят дороже, даже без поддержки, чем IAR.

Andrey

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required