Що можна зробити на picах

> Півтора роки тому спеціально поставив собі за мету порівняти
> Навантажувальну здатність PIC і AVR. порівнював
> Дані в DS. Так ось Microchip вказує максимально допустимий
> Ток 20 ма, Atmel - 40 ма.

Ну і що? Я можу поставити собі за мету і порівняти, скільки Атмел спалили мої знайомі,
коли в панель не так вставляли, а скільки інші знайомі, коли так само не так
вставляли пік.

> І ще, коли задають питання, що можна зробити на AVR, чого
> Нелбзя зробити на PIC, то я можу задати
> Зустрічне запитання: що можна зробити на PIC, чого не можна зробити
> На AVR?

Знаєте, хто питанням на питання відповідає?

> Можу додати, що я підробляв у фірмі, де спочатку стали
> Використовувати PIC, пізніше фірма перейшла
> На ATmega, а зараз використовує MSP430, бо споживана
> Потужність виявилася вирішальним фактором.

серія nanoWatt у піків - скоріше як доповнення в ряду, а не як основна фіча. Я
знаю людей, які пересіли з Тексас на нановатний мікрочіп тільки за фактором
меншого споживання.

Висновок - вивчайте нові лайнкарти, і т.д. і т.п.
Я тут не пропагандист. Просто реально у мене поки не було таких завдань, які
не можна вирішити на піку. Хоча там аж ніяк не ялинкові гірлянди. Але я знаю, що коли-
небудь такі завдання виникнуть і тому дивлюся в сторону філіпсовскіх АРМ і АД21хх.
За ним просто питань в конфе менше. Як Вам такий показник?
І ще - крутість ембеддера не визначається кількістю освоєних контролерів.
ИМХО.

IgorN писал (а):
> Привести що за помилка не можу тому що до сих пір (як-то Вову
> Питав вже по
гібриду 8.02ПЛ1 + МПЛАБ5.7.40) з гібридом працюю.

пов погано, що ти помилок не бачиш - екстрасенс.
;)
err-файл теж не генерується? (Якщо в настройках виставити)

> Що мається на увазі "треба пам'ятати
про біт IRP в STATUS'е мляяяя "

це я наколовся в асмових модулях;)
ніби все працювало, а як
запхав чета в другій-третій банки і так склалося, що після того, як компілер попрацював з
змінними там або ще де, але біт IRP в STATUS'е виставився, а в своїх асмових ф-ціях я про нього забув :) і
працюючи зі змінними через FSR писав не туди :( якось нечасто до цього мене стосувалася така фігня, ось і
забув.

> Окремо слова зрозумілі, а разом, це що, якщо хочу
> Використовувати покажчик на
структуру в масиві треба ще щось робити з IRP?

штука така, що picc не вміє просто так працювати з
покажчиками на все банки. я вже говорив про це, суть в тому, що покажчик в picc на ОЗУ восьмібітних (так
вже реалізовано), а ОЗУ більше 256 байт буває. тому, якщо потрібен покажчик на змінні у другому-
третьому банках, то його треба явно так і визначати:

ось така
фігня.


засмикали
прям внекуда сьогодні :( сил немає популярно викладати, якщо незрозуміло - питай що.

Re: До речі, а чого так не пишете

Ну напевно тому, що деяким здається такий вислів нечитабельним (я не для себе приклад писа
л) .По-друге, швидше за звичкою, тому що IAR гірше обробляє тернарние вираження, ніж if
. else. Хоча в даному випадку це без різниці.

в даному випадку теж

в HI-TECH не перевіряв всюди, але тут без різниці.

можна і КСОР, але тут це не суть (-)

> IgorN писал (а):
>> Привести що за помилка не можу тому що до сих пір (як-то Вову
>> питав вже по
> Гібриду 8.02ПЛ1 + МПЛАБ5.7.40) з гібридом працюю.
>
> Пов погано, що ти помилок не бачиш - екстрасенс.
>;)
> Err-файл теж не генерується? (Якщо в настройках виставити)


Генерітся. Щось. Ні, звичайно, не екстрасенс. Просто помилки не завжди показуються.
А в даному випадку якраз при перенесенні в інший банк і нарвався.

Найдивніше що покажчик bank0 і 1 можуть вказувати на будь-який х. з будь-якого
банку 0 або 1, а мабуть так само і для 2 і 3. Але 01 не може в 23 і навпаки. схоже
чому так. Сподіваюся скорочення слів не вплинуло на зміст.

ну так про це і говорю

IgorN писал (а):
> Найдивніше що покажчик bank0 і 1 можуть вказувати на будь-який
> Х. з будь-якого
банку 0 або 1, а мабуть так само і для 2 і 3. Але 01 не може в 23
> І навпаки.


так про це і кажу. і у них в
документації написано. і про це ж з Іваном розмовляли (посилання давав). А все від того, що покажчик
на ОЗУ восьмібітних. ось.

Мабуть я облажався, про стек я й думати забув :(

Зараз. А всередині ф-ций якщо потрібно використовувати велику пам'ять ніж 32 регістра треба десь це
все зберігати. Майже розумію, але хочеться що-небудь у відповідь почути.

Re: Мабуть я облажався, про стек я й думати забув :(

У стеці, звісно. До речі, компілятор не всі регістри використовує (IAR). І я теж про це писав в
"Бестселері" (він тепер так називається :)))). Стосовно до AVR, хоча і про PIC згадав.

Re: А я чув, що Microchip продає 80% своїх акцій фірмі Atmel!

Re: ну так про це і говорю

Чето струнка теорія розходиться з практикою. ; [

Ось так не дає:
пише:
Error [000] STAB876.OBJ 61. Fixup overflow in expression (loc 0xFF8 (0xFF8 + 0), size
1, value 0x190)
Error [000] STAB876.OBJ 91. Fixup overflow in expression (loc 0xD50 (0xD2E + 34),
size 1, value 0x190)
Error [000] STAB876.OBJ 135. Fixup overflow in expression (loc 0x3A0 (0x380 + 32),
size 1, value 0x190)

то працює. або це ілюзія роботи (?), у всякому разі Компільо без помилок.

ти банк не туди зафігачіть

IgorN писал (а):
> Ось так не дає:
> Пише:

кваліфікатор банк не там розмістив.

char * ptr;
// покажчик на нульовий і перший банк, розміщений (сам покажчик, один байт) в
нульовому банку

char bank2 * ptr;
// покажчик на другий (а може і на третій прокати) банк, розміщений (сам покажчик,
один байт) в нульовому банку


char * bank2 ptr;
// покажчик на нульовий-перший банки, розміщений (сам покажчик, один байт) у другому
банку

bank2 char * bank1 ptr;
// покажчик на другий банк, розміщений (сам покажчик, один байт) в першому банку

а чого там у тебе за структура така?

IgorN писал (а):
> Struct b24 A [16];

це чого таке?
що є Б24?

може краще зробити
через typedef?

оголосили
масив з 16 елементів типу my_t.

Re: ти банк не туди зафігачіть


А ну да, то я і дивлюся (АСМ нагенерённого) що там IRP в нулі тримається.

Вік живи, а вчитися - життя не вистачить.

Re: а чого там у тебе за структура така?

> IgorN писал (а):
>> struct b24 A [16];
>
> Це чого таке?
> Що є Б24?
>
> Може краще зробити
> Через typedef?
>
> Typedef struct my_t;
>
> My_t A [16];
>
> оголосили
> Масив з 16 елементів типу my_t.

union four struct b24 char lo;
char mid;
char hi;


Можна краще? Суть об'єднання - видерти молодші 3 байти з long, старший не потрібен
(Все одно нуль). Якби були цілі трёхбайтние я б лонг взагалі не використовував.

Re: Т-34 визнаний кращим танком ХХ століття

Кращим танком усіх часів і народів став радянський Т-34. Він отримав близькі до
граничним оцінки за вогневу міць, захищеність, рухливість, вищу оцінку за
освоєння промисловістю. Репутація Т-34, завойована їм на полях битв,
забезпечила танку високий бал за останнім критерієм.

Ось це топік підняли! Рекордна кількість постів однозначно! (-)

Схожі статті