Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кто и в чём пишет на с для PIC16 ?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Страницы: 1, 2
MiklPolikov
Подскажите, какая самая хорошая среда для того что бы писать на С для PIC16 и внутрисхемно отлаживать при помощи PICkit2 ?
В интернете много разных советов, то однозначного мнения и инстукций к действиям не нашёл. Подскажите с чего лучше начать ?
До этого работал в KEIL и AVRstudio
zltigo
QUOTE (MiklPolikov @ Aug 10 2011, 18:03) *
Подскажите с чего лучше начать ?

С выбора другого контролера.
PIC16 безнадежно устаревший. Архитектура полное убожество и на компиляторы ложится погано. За многие десятилетия вменяемых компиляторов не появилось и уж тем более не появятся. Один среди равных по дерьмовости - Hi-Tech. До знакомсва с ним я полагал, что в 21 веке нарваться на ошибки в компиляторе достаточно сложно. Оказалось ошибался. Hi-Tech интегрируется, для немогущих без тупого и безмозглого брожения отладчиком в такую-же криво-убогую MPLAB. Только в помутнении рассудка можно думать об использовании PIC16 чего-нибудь сложнее, чем сотня команд на ASM для 8-pin версий этого контроллера.
MiklPolikov
Цитата(zltigo @ Aug 10 2011, 19:13) *
С выбора другого контролера.
PIC16 безнадежно устаревший. Архитектура полное убожество и на компиляторы ложится погано. За многие десятилетия вменяемых компиляторов не появилось и уж тем более не появятся. Один среди равных по дерьмовости - Hi-Tech. До знакомсва с ним я полагал, что в 21 веке нарваться на ошибки в компиляторе достаточно сложно. Оказалось ошибался. Hi-Tech интегрируется, для немогущих без тупого и безмозглого брожения отладчиком в такую-же криво-убогую MPLAB. Только в помутнении рассудка можно думать об использовании PIC16 чего-нибудь сложнее, чем сотня команд на ASM для 8-pin версий этого контроллера.


Да вот беда- уже сделал плату с PIC16F707-I/ML . Четырёхслойную. И эти контроллеры заказывал и месяц ждал. Потому что только они меня усторили по габаритам/потреблению/напряжению питания (очень много ограничений ) . И теперь надо как-то написать несложную программку.
zltigo
QUOTE (MiklPolikov @ Aug 10 2011, 18:25) *
напряжению питания

Типа все еще используете 5V? Мрак sad.gif

QUOTE (MiklPolikov @ Aug 10 2011, 18:25) *
И теперь надо как-то написать несложную программку.

Пишите. Только с Pro версиями компилятора поосторожнее, они как-то особо кривы sad.gif. Нет, я то, что мне было необходимо заставил собираться и работать и в Pro версии, но еще ни разу не удавалось почему-то увидеть результат лучше, чем у регулярной версии.
MiklPolikov
Цитата(zltigo @ Aug 10 2011, 19:32) *
Типа все еще используете 5V? Мрак sad.gif

Использую LI-ION аккумулятор и стабилизатор там было воткнуть почти некуда.
zltigo
QUOTE (MiklPolikov @ Aug 10 2011, 18:34) *
Использую LI-ION аккумулятор и стабилизатор там было воткнуть почти некуда.

Так с 3.6V контроллерами все нормально обстоит. Выбор большой, включая агрессивно-прогрессивно-дешевые-микромощные STM8L.
Но поскольку отступать уж некуда, то ступайте в закрома за таблетками и вперед. С отсутствием нормальных стеков и 256 байтовыми банками памяти познакомитесь в ходе дела sad.gif. С тем, как компилятор при переключении этих банков дергается и путается тоже узнаете sad.gif.
Прохожий
Цитата(zltigo @ Aug 10 2011, 19:13) *
С выбора другого контролера.
PIC16 безнадежно устаревший. Архитектура полное убожество и на компиляторы ложится погано. За многие десятилетия вменяемых компиляторов не появилось и уж тем более не появятся. Один среди равных по дерьмовости - Hi-Tech. До знакомсва с ним я полагал, что в 21 веке нарваться на ошибки в компиляторе достаточно сложно. Оказалось ошибался. Hi-Tech интегрируется, для немогущих без тупого и безмозглого брожения отладчиком в такую-же криво-убогую MPLAB. Только в помутнении рассудка можно думать об использовании PIC16 чего-нибудь сложнее, чем сотня команд на ASM для 8-pin версий этого контроллера.

Все высказывания относятся к области личных вкусовых пристрастий.
MPLAB - вполне себе нормальная среда разработки.
Не хуже и не лучше остальных.
А отладчиком можно и не бродить вовсе.
И просматривать только то, что надо.
Ассемблер надо тоже уметь готовить.

Цитата(zltigo @ Aug 10 2011, 19:39) *
Так с 3.6V контроллерами все нормально обстоит. Выбор большой, включая агрессивно-прогрессивно-дешевые STM8L

ST - фирма, не вызывающая ни малейшего доверия.
Изделия их глючные. Даже простейшие UC384x.
Что тогда можно говорить о МК?
Компилятор С платный.
MiklPolikov
Цитата(Прохожий @ Aug 10 2011, 19:47) *
Изделия их глючные. Даже простейшие UC384x.

Глючный ?! Везде именно их леплю и не могу нарадоваться .
Прохожий
Цитата(MiklPolikov @ Aug 10 2011, 19:25) *
И теперь надо как-то написать несложную программку.

Уважаемый zltigo прав только в одном.
Архитектура у PIC 16 - старинная и достаточно своеобразная.
Поэтому несложную программку надо писать на Ассемблере.
При определенных навыках - это не сложно.

Цитата(MiklPolikov @ Aug 10 2011, 19:49) *
Глючный ?! Везде именно их леплю и не могу нарадоваться .

А Вы в курсе, что транзисторы выходного каскада этой МС имеют большую зону перекрытия?
И поэтому шумит она неподеццки...
Или то, что внутренний триггер склонен к сбоям из-за гонок?
И из-за этого не всегда выдерживается заданная частота...
Зато дешевая. Это да.
Лично я от них отказался.
Потому как уважаю своих заказчиков.
MiklPolikov
Цитата(Прохожий @ Aug 10 2011, 19:56) *
А Вы в курсе, что транзисторы выходного каскада этой МС имеют большую зону перекрытия?
И поэтому шумит она неподеццки...
Или то, что внутренний триггер склонен к сбоям из-за гонок?
И из-за этого не всегда выдерживается заданная частота...

Никогда не замечал такого. Наверно Вам партия кривая попалась.
zltigo
QUOTE (Прохожий @ Aug 10 2011, 18:47) *
MPLAB - вполне себе нормальная среда разработки.
Не хуже и не лучше остальных.

За ненадобностью я крайне-редко пользуюсь разными IDE-отладчиками, посему совсем не берусь их сравнивать, но какие-то примитивнейшие действия в тех-же отладчиках обычно удавалось делать совершенно интуитивно. У MPLAB, мне помнится, быстро и интуитивно не удалось даже сделать первое действие - загрузить HEX для симуляции. Ну очень своеобразно sm.gif. Ну а так, наверное, в ряду прочих раздаваемых на халяву производителями контроллеров для подсаживания на иглу - действительно резко не выделяется.

QUOTE (Прохожий @ Aug 10 2011, 18:47) *
ST - фирма, не вызывающая ни малейшего доверия.

Фирма, конечно, в части микроконтроллеров особо отличающаяся небрежностью и пофигизмом в части разработки и последующей доводки переферии, но тем не менее STM8 вполне удачный современный восьмибитовик. Советую обратить внимание. Кроме того, на STM8 свет клином не сошелся.
_Pasha
Цитата(zltigo @ Aug 10 2011, 18:13) *
Один среди равных по дерьмовости - Hi-Tech.

lol.gif Это точно.

Цитата
Написать несложную программку

Насколько она несложная?
На АСМе оч. может быть все напишете быстрей, 36 команд выучиваются за день. Уникальный кривой случай... sm.gif
_Pasha
Цитата(zltigo @ Aug 10 2011, 18:13) *
Один среди равных по дерьмовости - Hi-Tech.

lol.gif Это точно.

Цитата
Написать несложную программку

Насколько она несложная?
На АСМе оч. может быть все напишете быстрей, 36 команд выучиваются за день. Уникальный кривой случай... sm.gif
Прохожий
Цитата(MiklPolikov @ Aug 10 2011, 20:00) *
Никогда не замечал такого. Наверно Вам партия кривая попалась.

Дело в том, что прежде, чем поставить в изделие что-либо, проводятся всяческие исследования.
В том числе и эксперименты с МС. У нас были разные партии и разные образцы...
И выводы сделаны не на пустом месте.

Цитата(zltigo @ Aug 10 2011, 20:02) *
За ненадобностью я крайне-редко пользуюсь разными IDE-отладчиками, посему совсем не берусь их сравнивать, но какие-то примитивнейшие действия в тех-же отладчиках обычно удавалось делать совершенно интуитивно. У MPLAB, мне помнится, быстро и интуитивно не удалось даже сделать первое действие - загрузить HEX для симуляции. Ну очень своеобразно sm.gif. Ну а так, наверное, в ряду прочих раздаваемых на халяву производителями контроллеров для подсаживания на иглу - действительно резко не выделяется.

Аналогичные наблюдения по поводу KEIL µVision4 IDE, которую бесплатной никак не назовешь.
МК - ARM Cortex M0 LPC1114 ввиду относительной простоты и дешевизны.
Особо порадовали всякие-разные включаемые файлы, призванные якобы помочь.
Конфигураторы внутренних девайсов так же не отличаются дружественностью.
Проще все руками по книге написать.
И где в этом случае правда?
Цитата(zltigo @ Aug 10 2011, 20:02) *
Фирма, конечно, в части микроконтроллеров особо отличающаяся небрежностью и пофигизмом в части разработки и последующей доводки переферии, но тем не менее STM8 вполне удачный современный восьмибитовик. Советую обратить внимание. Кроме того, на STM8 свет клином не сошелся.

Я еще не упоминал про их IGBT и полевики...
Но это не в тему.
MiklPolikov
Цитата(_Pasha @ Aug 10 2011, 20:12) *
Насколько она несложная?


Часы реального времени +прерывание от кнопки + прерывание от таймера + поиграть ножками .

Писал на асемблера давным-давно, сейчас вообще не помню что все эти movlw означают .
Прохожий
Цитата(MiklPolikov @ Aug 10 2011, 20:43) *
Часы реального времени +прерывание от кнопки + прерывание от таймера + поиграть ножками .

Писал на асемблера давным-давно, сейчас вообще не помню что все эти movlw означают .

На Ассемблере все это валяется на раз.

movlw ЛИТЕРАЛ; команда загрузки байта, указанного в команде непосредственно, в рабочий регистр W.

А для часов реального времени надо брать PIC24.
Там они аппаратные.
И компилятор С вполне пристойный.
Архитектура - просто сказка - ортогональная и симметричная.
Для Вашего случая PIC24FV32KA304.
Питание - 5 Вольт.
Вполне можно выбрать близкий по цене к PIC16F707 вариант.
zltigo
QUOTE (Прохожий @ Aug 10 2011, 19:40) *
Аналогичные наблюдения по поводу KEIL µVision4 IDE, которую бесплатной никак не назовешь.

IDE к нижесказанному отношение имеет десятое.
QUOTE
МК - ARM Cortex M0 LPC1114 ввиду относительной простоты и дешевизны.
Особо порадовали всякие-разные включаемые файлы, призванные якобы помочь.
Конфигураторы внутренних девайсов так же не отличаются дружественностью.
Проще все руками по книге написать.
И где в этом случае правда?

Правда в том, что никакую софтовую хрень от производителей чипов НИКОГДА не нужно использовать. Она не для "помочь", она для оболванить и привязать болванчиков к чипу. Или часто для того, что-бы скрыть дыры в документации тупыми визардами и "библиотеками".

QUOTE (Прохожий @ Aug 10 2011, 19:47) *
На Ассемблере все это валяется на раз.

Если делать нечего и уже ваял не не раз а на языках не разу wink.gif.
Прохожий
Цитата(zltigo @ Aug 10 2011, 20:58) *
IDE к нижесказанному отношение имеет десятое.

Но к этой IDE прилагается вполне себе ничего компилятор.
А так же симулятор.
Цитата(zltigo @ Aug 10 2011, 20:58) *
Правда в том, что никакую софтовую хрень от производителей чипов НИКОГДА не нужно использовать. Она не для "помочь", она для оболванить и привязать болванчиков к чипу. Или часто для того, что-бы скрыть дыры в документации тупыми визардами и "библиотеками".

Тут спорить не буду. Это правда.
Но для "просто посмотреть" всяких примеров это дело тоже не подходит.
Цитата(zltigo @ Aug 10 2011, 20:58) *
Если делать нечего и уже ваял не не раз а на языках не разу wink.gif.

На каких только языках и чего только я не валял.
Некоторых Вы и не знаете даже...
VCO
Для начала ASM АДНАЗНАЧНА!
И никого больше не слушайте, иначе не поймёте ничего о работе PIC16...
...Потом перейдёте на Си. А то так и останитесь недопрограммёром...
MiklPolikov
Цитата(Прохожий @ Aug 10 2011, 20:47) *
А для часов реального времени надо брать PIC24.
Там они аппаратные.
Вполне можно выбрать близкий по цене к PIC16F707 вариант.


Уже выбрал PIC16F707 . Там таймер может работать от внешнего кварца 32КГц . Это то что надо.
ILYAUL
Цитата(MiklPolikov @ Aug 10 2011, 21:16) *
Уже выбрал PIC16F707 . Там таймер может работать от внешнего кварца 32КГц . Это то что надо.

Ну,а теперь прикиньте объём программы которую Вам надо будет написать для обработки часов - секунды , минуты, часы ,дни ,года , високосные года -февраль....ВЕКА
zltigo
QUOTE (YIG @ Aug 10 2011, 20:15) *
И никого больше не слушайте, иначе не поймёте ничего о работе PIC16...

А вот этот PIC16 понимать по нынешним временам ни нафиг не надо. Но боюсь придется, ввиду убогости контролера и компиляторов. Иначе пока не подсунешь чего-нибудь совсем разжеванного и адаптированного, вменяемого кода от этого компилятора не получишь. Возможности командной системы убогого PIC16 придется познавать по любому.

QUOTE (ILYAUL @ Aug 10 2011, 20:22) *
Ну,а теперь прикиньте объём программы которую Вам надо будет написать для обработки часов - секунды , минуты, часы ,дни ,года , високосные года -февраль....ВЕКА

Или не нужно sm.gif. Или написать. Несколько десятков избитых строк на 'C' или вообще тупо библиотечные функции для работы с unixtime.
Прохожий
Цитата(YIG @ Aug 10 2011, 21:15) *
...Потом перейдёте на Си.

На этой архитектуре С не возможен.
Эта архитектура старше С лет на 10...
Прохожий
Цитата(ILYAUL @ Aug 10 2011, 21:22) *
Ну,а теперь прикиньте объём программы которую Вам надо будет написать для обработки часов - секунды , минуты, часы ,дни ,года , високосные года -февраль....ВЕКА

По студенчеству делал такую хрень на "Электронике 60" вообще в кодах.
Тогда даже Ассемблера не было.
А другой народ всякие графики рисовал аналогичным образом.


Цитата(zltigo @ Aug 10 2011, 21:23) *
Или не нужно sm.gif. Или написать. Несколько десятков избитых строк на 'C' или вообще тупо библиотечные функции для работы с unixtime.

А под Виндой вообще ничего не надо...
Здесь гораздо интереснее не это.
А то, как человек будет знать время при отсутствии питания...
У PIC24 для этих целей уже все есть.
zltigo
QUOTE (Прохожий @ Aug 10 2011, 20:29) *
А то, как человек будет знать время при отсутствии питания...
У PIC24 для этих целей уже все есть.

Что есть sm.gif встроенный источник питания sm.gif??? Ну а при наличии питания, будет просто считать секунды в 32bit счетчике. Причем в большинстве случаев всякие века-года-месяцы-... и прочие рассчитанные на человека уродские системы регистрации времени просто не нужны и вредны.
_Pasha
Цитата(Прохожий @ Aug 10 2011, 19:40) *
Я еще не упоминал про их IGBT и полевики...
Но это не в тему.


теперь тема здесь
Прохожий
Цитата(zltigo @ Aug 10 2011, 21:35) *
Что есть sm.gif встроенный источник питания sm.gif???

Нет.
Просто модуль RTCC работает в режиме Sleep (отключенное ядро и периферия на выбор пользователя) и ничего при этом не жрет.
И при низких напряжениях тоже.
Так что ионистор + диод решает практически все проблемы.
MiklPolikov
title "watch V1_1"

;LIST R=DEC
LIST P=PIC16F707
INCLUDE "p16f707.inc"


__CONFIG _INTOSCIO & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _BOREN_ON & _BORV_25 & _PLLEN_OFF & _VCAPEN_OFF



Пара вопросов :
1) Почему mplab не компилирует строчку __CONFIG ? Ругается что Argument out of range (not a valid config register address)
2) LIST P=PIC16F707 как работает эта директива ? Куда и зачем указывается P=PIC16F707 ? Это строчка вообще на что-нибудь влияет ?
_Pasha
Цитата(MiklPolikov @ Aug 10 2011, 20:46) *
2) LIST P=PIC16F707 как работает эта директива ? Куда и зачем указывается P=PIC16F707 ? Это строчка вообще на что-нибудь влияет ?

Влияет прежде всего на настройку ассемблера на подмножество инструкций. Указывать надо, иначе ругаеццо
VCO
Цитата(zltigo @ Aug 10 2011, 20:23) *
А вот этот PIC16 понимать по нынешним временам ни нафиг не надо. Но боюсь придется, ввиду убогости контролера и компиляторов.

Тут целиком и полностью согласен, но для того, чтобы сделать контроллер Power Good, что я ваял последний раз, это не нужно. PIC24-32 для этого переизбыточны, а при +125 при этом не способны работать, в отличие от последних... rolleyes.gif
MiklPolikov
Цитата(_Pasha @ Aug 10 2011, 21:50) *
Влияет прежде всего на настройку ассемблера на подмножество инструкций. Указывать надо, иначе ругаеццо


А почему в одном примере написано LIST R=DEC , в учебнике P=PIC16F707 ? Что означают R , P, DEC ?
Прохожий
Цитата(MiklPolikov @ Aug 10 2011, 21:46) *
title "watch V1_1"

;LIST R=DEC
LIST P=PIC16F707

Дело в том, что Ассемблер MPASMWIN - он для разных PIC-ов.
А это ему указание о типе процессора.
Цитата(MiklPolikov @ Aug 10 2011, 21:46) *
INCLUDE "p16f707.inc"

Ну, это понятно зачем.
Цитата(MiklPolikov @ Aug 10 2011, 21:46) *
__CONFIG _INTOSCIO & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _BOREN_ON & _BORV_25 & _PLLEN_OFF & _VCAPEN_OFF

Никогда не писал этот бред в коде непосредственно.
Проще все это указать в проекте.
Configure->Configuration Bits...
Цитата(MiklPolikov @ Aug 10 2011, 21:46) *
Пара вопросов :
1) Почему mplab не компилирует строчку __CONFIG ? Ругается что Argument out of range (not a valid config register address)

Начиная с какой-то версии компилятора это дело несколько поменялось в смысле синтаксиса.
Поэтому надо найти пример с этим добром посвежее. Лично я этим не пользуюсь.
Так и для сохранности проекта надежнее.
Цитата(MiklPolikov @ Aug 10 2011, 21:46) *
2) LIST P=PIC16F707 как работает эта директива ? Куда и зачем указывается P=PIC16F707 ? Это строчка вообще на что-нибудь влияет ?

См. выше.
_Pasha
Цитата(MiklPolikov @ Aug 10 2011, 20:58) *
А почему в одном примере написано LIST R=DEC , в учебнике P=PIC16F707 ? Что означают R , P, DEC ?

LIST P=PIC16F707
RADIX DEC

емнип, было так. В любом случае, F1 for help sm.gif
Прохожий
Цитата(MiklPolikov @ Aug 10 2011, 21:58) *
А почему в одном примере написано LIST R=DEC , в учебнике P=PIC16F707 ? Что означают R , P, DEC ?

В MPLAB нажимаем HELP, далее в Topics выбираем MPASM Assembler, в разделе Directives выбираем list и получаем:
Цитата
Syntax
list [list_option, ..., list_option]
Description
Occurring on a line by itself, the list directive has the effect of turning listing output on, if it had been previously turned off. Otherwise, one of a list of options can be supplied to control the assembly process or format the listing file.

Usage
This directive is used in the following types of code: absolute or relocatable. For information on types of code, see Assembler Operation.

Table: List Directive Options Option Default Description
b=nnn 8 Set tab spaces.
c=nnn 132 Set column width.
f=format INHX8M Set the hex file output. format can be INHX32, INHX8M, or INHX8S.
Note: Hex file format is set in MPLAB IDE (Build Options dialog.)
free FIXED Use free-format parser. Provided for backward compatibility.
fixed FIXED Use fixed-format parser.
mm={ON|OFF} On Print memory map in list file.
n=nnn 60 Set lines per page.
p=type None Set processor type; for example, PIC16F877. See also processor.
Note: Processor type is set in MPLAB IDE (Configure>Device.)
pe=type None Set processor type and enable extended instruction set, for example; LIST pe=PIC18F4620
Only valid with processors which support the extended instruction set and the generic processor PIC18XXX. Is overridden by command-line option /y- (disable extended instruction set).
Note: Processor type is set in MPLAB IDE (Configure>Device.)
r=radix hex Set radix: hex, dec, oct. See also radix.
st={ON|OFF} On Print symbol table in list file.
t={ON|OFF} Off Truncate lines of listing (otherwise wrap).
w={0|1|2} 0 Set the message level. See also errorlevel.
x={ON|OFF} On Turn macro expansion on or off.



Note: All list options are evaluated as decimal numbers by default.


See Also
errorlevel expand noexpand nolist processor radix
Simple Example
Set the processor type to PIC18F452, the hex file output format to INHX32 and the radix to decimal.

list p=18f452, f=INHX32, r=DEC

В дальнейшем инструкции по использованию Help-а даваться не будут.
Вопросы по поводу инструментария считаются моветоном.
zltigo
QUOTE (Прохожий @ Aug 10 2011, 21:01) *
Проще все это указать в проекте.
Configure->Configuration Bits...

А подумать вместо того, что-бы как всегда ставить галочки?
Имеем исходные тексты, но без какого-то файла называемого "проектом MPLAB" они не полные. А для посмотреть "проект" надо ставить MPLAB. Для для передать настройки очевидно надо передавать скриншот c этого самого MPLAB. Ну офигенная "простота" вместо вменяемой текстовой строки sad.gif.




Прохожий
Цитата(zltigo @ Aug 10 2011, 22:34) *
А подумать вместо того, что-бы как всегда ставить галочки?
Имеем исходные тексты, но без какого-то файла называемого "проектом MPLAB" они не полные. А для посмотреть "проект" надо ставить MPLAB. Для для передать настройки очевидно надо передавать скриншот c этого самого MPLAB. Ну офигенная "простота" вместо вменяемой текстовой строки sad.gif.

Вот, то о чем я говорил - вкусовые пристрастия.
Получателю один фиг придется расшифровывать эту абракадабру.
И не факт, что его компилятор переварит все это.
Лично я конфигурацию описываю в комментариях к Startup-у.
Или не описываю, если получателю это не надо.
А насчет подумать - процесс конфигурации с "подумать" ничего общего не имеет.
И разницы никакой...
horoc
Цитата(Прохожий @ Aug 10 2011, 20:47) *
А для часов реального времени надо брать PIC24.
Там они аппаратные.
И компилятор С вполне пристойный.

Прочитал и загорелся попробовать. Но CCS их не поддерживает. Какой компилятор выбрать?
Прохожий
Цитата(horoc @ Aug 10 2011, 22:45) *
Прочитал и загорелся попробовать. Но CCS их не поддерживает. Какой компилятор выбрать?

С30.
В базе он бесплатный.
По истечении 60 дней отключается абстрактный уровень оптимизации.
При этом компилятор полностью работоспособен.
В Lite версии это дело отключено изначально.
В большинстве случаев и при определенном навыке этот уровень оптимизации и нафиг не нужен.
zltigo
QUOTE (Прохожий @ Aug 10 2011, 21:43) *
Получателю один фиг придется расшифровывать эту абракадабру.

Насчет абракадабры явный перебор - вполне обыденные аббревиатуры. Опять-же это документированная возможность.
QUOTE
И не факт, что его компилятор переварит все это.

Даже если будет другой компилятор и он не переварит эти указания, то тоже неплохо - по крайней мере будут явно показано где находятся установки. И не придется
догадываться о неких лично Ваших предпочтениях:
QUOTE
Лично я конфигурацию описываю в комментариях к Startup-у.
Или не описываю, если получателю это не надо.

Причем еще важный момент - даже если Вы где-то конфигурацию своими словами в комментариях описали, даже если это место кто-то найдет, то уж совпадение реальной конфигурации с той, что где-то в произвольном месте описана гарантировать никто не сможет.
QUOTE
А насчет подумать - процесс конфигурации с "подумать" ничего общего не имеет.

Имеет. Думать, что и как делаешь, надо всегда, даже если это конфигурация sm.gif. Возможность задавать в исходном тексте инструкции непосредственно компилятору (пусть даже компиляторозависимо), а не человеку, по установке конфигурационных битов следует приветствовать и использовать.

QUOTE (horoc @ Aug 10 2011, 21:45) *
Прочитал и загорелся попробовать. Но CCS их не поддерживает. Какой компилятор выбрать?

Для этого кроме C30 еще IAR. Но IAR уже отказались от поддержки PIC-ов. Посему все давно уже заброшено. Более 20 разных ядер поддерживают, а PIC-и уже нет. Не спроста это sm.gif

QUOTE (Прохожий @ Aug 10 2011, 21:49) *
С30.
В базе он бесплатный.
По истечении 60 дней отключается абстрактный уровень оптимизации.
При этом компилятор полностью работоспособен.
В Lite версии это дело отключено изначально.

Всякие усеченные огрызки бесплатны почти у всех. По той простой причине, что вот это:
QUOTE
В большинстве случаев и при определенном навыке этот уровень оптимизации и нафиг не нужен.

совсем не так sad.gif
VCO
Цитата(zltigo @ Aug 11 2011, 11:56) *
... IAR уже отказались от поддержки PIC-ов. Посему все давно уже заброшено. Более 20 разных ядер поддерживают, а PIC-и уже нет. Не спроста это sm.gif

Картельный (чуть не сказал Кортексный) сговор против Microchip ничего не даст сторонникам Atmel и STM. MPLAB X тоже не спроста повилась. Всё будет определяться только соотношением цена/качество, а PICи как раньше не подводили, так и сейчас не подводят, да простят меня неистовые фаны AVR.
ar__systems
Цитата(Прохожий @ Aug 10 2011, 14:01) *
Никогда не писал этот бред в коде непосредственно.
Проще все это указать в проекте.
Configure->Configuration Bits...

Странная логика, ну да ладно
zltigo
QUOTE (YIG @ Aug 11 2011, 15:16) *
Всё будет определяться только соотношением цена/качество

Это какое-же офигительное "качество" надо втемяшить себе в голову, что-бы покупать те-же PIC16F707 контроллеры с 368 байтами RAM за 1,5-2 евро sm.gif.
http://se.mouser.com/Search/Refine.aspx?Keyword=PIC16F707
Тут дело совершенно не в "качестве" sad.gif, а в представлениях "папуасов" sad.gif о "ценности" бижутерии. Я на самом деле ничего явно против PIC не имею, и если они в конкретном случае будут удебнее/выгоднее - использую без всяких предрассудков. Беда в том, что как только начинать рассматривать кандидатуры не ограничивая себя рамками производителя, то как-то до использования PIC дело уже не доходит. Лично меня это не радует и не печалит.
QUOTE
да простят меня неистовые фаны AVR

Ой, надо будет Xenia эту ссылочку послать - меня обозвали "фанатом AVR" sm.gif sm.gif.
Dog Pawlowa
Делал два простеньких проекта на PIC16 на ИАРе - ошибок компилятора не заметил.
Обошлось без изучения архитектуры.
Это чтобы, если уж вступил, то выбраться без погружения с головой sm.gif
zltigo
QUOTE (Dog Pawlowa @ Aug 11 2011, 16:13) *
Делал два простеньких проекта на PIC16 на ИАРе - ошибок компилятора не заметил.

Ну я жаловался на Hi-Tech. IAR не использовал по причине того, что это хозяйство мне досталось в наследство и заказчик уже использовал лицензионный Hi-Tech. К тому-же
IAR выкинул даже упоминание о когда-то выпускавшихся компиляторах PIC12/16/17. Старшие хоть как не поддерживаемые лежат, а этот выкинут полностью. Последняя версия была 2002 году.
QUOTE
Обошлось без изучения архитектуры.
Это чтобы, если уж вступил, то выбраться без погружения с головой sm.gif

Да? Мне, например, пришлось писать эфирный загрузчик для PIC16 (больше 256 байт, кто понимает). Смею Вас заверить, что без изучения и заметного погружения это невозможно sad.gif.А когда компилятор путался в банках, пришлось достаточно плотно читать листинги. За стеком возвратов тоже пришлось ручками следить - программка в общем-то была не маленькая, одних разных радиоинтерфейсов четыре штуки.
MiklPolikov
Пара вопросов :

1)Я правильно понял, что в самой MPLAB нельзя симулировать работу программы, а можно только эмулировать, при помощи эмулятора и реального процессора ?

2) bsf STATUS, RP0
bcf STATUS, IRP
bcf STATUS, RP1

movlw b'11110111'
movwf TRISA

Почему при компиляции появляется сообщение Register in operand not in bank 0. Ensure that bank bits are correct. ? Ведь я же вроде бы перешёл в банк 1 , в котором регистр TRISA .
VCO
Цитата(zltigo @ Aug 11 2011, 15:57) *
Это какое-же офигительное "качество" надо втемяшить себе в голову, что-бы покупать те-же PIC16F707 контроллеры с 368 байтами RAM за 1,5-2 евро sm.gif.

Вы думаете, что Вы один осознали ущербность PIC16. Я сразу перешёл на PIC18, когда те появились, затем - незамедлительно на PIC24, потом - на PIC32, и ни разу не сожалел о выборе Microchip, а не Atmel, существование которых в период кризиса было под большим вопросом. Сами мелкоконтроллеры далеко не передовые, но зато надёжные, про PIC18 я из практики с уверенностью могу сказать: "Танки грязи не боятся!". У Microchip есть много интересных аналоговых микросхем, которые часто выручают (например, термодатчики, термоключи, термостаты) и конкурентоспособны с самими LT, AD и TI.
Цитата
Тут дело совершенно не в "качестве" sad.gif, а в представлениях "папуасов" sad.gif о "ценности" бижутерии. Я на самом деле ничего явно против PIC не имею, и если они в конкретном случае будут удебнее/выгоднее - использую без всяких предрассудков. Беда в том, что как только начинать рассматривать кандидатуры не ограничивая себя рамками производителя, то как-то до использования PIC дело уже не доходит. Лично меня это не радует и не печалит.

Я тоже на них бы и внимания не обратил, если бы занимался серийным производством. Скорее бы NEC или Cypress использовал.
Но довелось вдоволь поковыряться в американских синтезаторах - везде почему-то Мелкочипы стоят? laughing.gif
Цитата
Ой, надо будет Xenia эту ссылочку послать - меня обозвали "фанатом AVR" sm.gif sm.gif.

Вы же прекрасно поняли, что я это сказал не о Вас! Есть тут у нас на другом форуме один маньяк до AVR.
Впрочем, можете и меня считать фанатом PIC, если Вас это устроит, хотя я уже все проекты в Спартаны перевёл.
Прохожий
Цитата(MiklPolikov @ Aug 11 2011, 18:33) *
Пара вопросов :

1)Я правильно понял, что в самой MPLAB нельзя симулировать работу программы, а можно только эмулировать, при помощи эмулятора и реального процессора ?

Нет, не правильно.
В MPLAB встроен достаточно мощный симулятор.
Как его запустить рассказывать не буду принципиально.
Цитата(MiklPolikov @ Aug 11 2011, 18:33) *
2) bsf STATUS, RP0
bcf STATUS, IRP
bcf STATUS, RP1

movlw b'11110111'
movwf TRISA

Почему при компиляции появляется сообщение Register in operand not in bank 0. Ensure that bank bits are correct. ? Ведь я же вроде бы перешёл в банк 1 , в котором регистр TRISA .

Надо как-то так:
Код
     movlb    0X01
     movlw   b'11110111'
     movwf   TRISA
SKov
Цитата(MiklPolikov @ Aug 11 2011, 18:33) *
Почему при компиляции появляется сообщение Register in operand not in bank 0. Ensure that bank bits are correct. ? Ведь я же вроде бы перешёл в банк 1 , в котором регистр TRISA .

Это просто напоминание (Ensure - в смысле удостоверьтесь, что все правильно).
Не обращайте внимания. Все правильно.
_Pasha
Цитата(Прохожий @ Aug 11 2011, 18:10) *
Надо как-то так:
Код
     movlb    0X01

Неа! wink.gif Там не было еще movlb.
Прохожий
Цитата(zltigo @ Aug 11 2011, 12:56) *
Имеет. Думать, что и как делаешь, надо всегда, даже если это конфигурация sm.gif.

С этим не спорю.
Но на каком основании Вы решили, что устанавливая конфигурацию в проекте, думать не надо?
А описывая ее в компиляторе - надо?
Цитата(zltigo @ Aug 11 2011, 12:56) *
Возможность задавать в исходном тексте инструкции непосредственно компилятору (пусть даже компиляторозависимо), а не человеку, по установке конфигурационных битов следует приветствовать и использовать.

Абсолютно не очевидно.
Это лишь вопрос личных пристрастий.
Я тоже могу задавать конфигурацию в тексте программы.
На самом деле - это не сложно, сами понимаете.
Но мне такой способ не нравится.
Цитата(zltigo @ Aug 11 2011, 12:56) *
Всякие усеченные огрызки бесплатны почти у всех.

Вот у KEIL и остальных ARMянских компиляторов - действительно все обрезано по самые помидоры.
Вплоть до запрета на коммерческое использование.
В отличие от компиляторов Microchip.
Запрет на оптимизацию - не такая уж большая потеря по сравнению с ограничением размера кода, скажем.
Или функционала.
Цитата(zltigo @ Aug 11 2011, 12:56) *
совсем не так sad.gif

Опять же. Я это утверждаю не просто так.
А на основании проведенных исследований.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.