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

Привет 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] Алексей М. ... Аэроволны: ментол и эвкалипт для носа, мед и лимон для рота!

Reply to
Alex Mogilnikov
Loading thread data ...

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

Reply to
Arcady Schekochikhin

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

Reply to
Arcady Schekochikhin

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

Reply to
Arcady Schekochikhin

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

Reply to
Arcady Schekochikhin

 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

Reply to
Dmitry Orlov

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

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

Reply to
Dmitry E. Oboukhov

 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

Reply to
Dmitry Orlov


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

Reply to
Dmitry Orlov

Не бита а 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.

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

Reply to
Arcady Schekochikhin

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 [ Жамству бой !]

Reply to
Alexander Torres

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

Reply to
Arcady Schekochikhin

 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

Reply to
Dmitry Orlov

AS>

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

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

Reply to
Dmitry E. Oboukhov

 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

Reply to
Dmitry Orlov

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

Reply to
Arcady Schekochikhin

 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

Reply to
Dmitry Orlov

 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

Reply to
Dmitry Orlov

Hi Dmitry!

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

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

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

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

Slav.

Reply to
Slav Matveev

Dmitry,

You wrote to Andrey Arnold:

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

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

Andrey

Reply to
Andrey Arnold

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.