|
|
  |
Кто и в чём пишет на с для PIC16 ?, Подскажите с чего начать ? |
|
|
|
Aug 10 2011, 18:01
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(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 ? Это строчка вообще на что-нибудь влияет ? См. выше.
|
|
|
|
|
Aug 10 2011, 18:12
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(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-а даваться не будут. Вопросы по поводу инструментария считаются моветоном.
|
|
|
|
|
Aug 10 2011, 18:43
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(zltigo @ Aug 10 2011, 22:34)  А подумать вместо того, что-бы как всегда ставить галочки? Имеем исходные тексты, но без какого-то файла называемого "проектом MPLAB" они не полные. А для посмотреть "проект" надо ставить MPLAB. Для для передать настройки очевидно надо передавать скриншот c этого самого MPLAB. Ну офигенная "простота" вместо вменяемой текстовой строки  . Вот, то о чем я говорил - вкусовые пристрастия. Получателю один фиг придется расшифровывать эту абракадабру. И не факт, что его компилятор переварит все это. Лично я конфигурацию описываю в комментариях к Startup-у. Или не описываю, если получателю это не надо. А насчет подумать - процесс конфигурации с "подумать" ничего общего не имеет. И разницы никакой...
Сообщение отредактировал Прохожий - Aug 10 2011, 18:44
|
|
|
|
|
Aug 10 2011, 18:45
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 18-06-10
Пользователь №: 58 001

|
Цитата(Прохожий @ Aug 10 2011, 20:47)  А для часов реального времени надо брать PIC24. Там они аппаратные. И компилятор С вполне пристойный. Прочитал и загорелся попробовать. Но CCS их не поддерживает. Какой компилятор выбрать?
|
|
|
|
|
Aug 10 2011, 18:49
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(horoc @ Aug 10 2011, 22:45)  Прочитал и загорелся попробовать. Но CCS их не поддерживает. Какой компилятор выбрать? С30. В базе он бесплатный. По истечении 60 дней отключается абстрактный уровень оптимизации. При этом компилятор полностью работоспособен. В Lite версии это дело отключено изначально. В большинстве случаев и при определенном навыке этот уровень оптимизации и нафиг не нужен.
|
|
|
|
|
Aug 11 2011, 08:56
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (Прохожий @ Aug 10 2011, 21:43)  Получателю один фиг придется расшифровывать эту абракадабру. Насчет абракадабры явный перебор - вполне обыденные аббревиатуры. Опять-же это документированная возможность. QUOTE И не факт, что его компилятор переварит все это. Даже если будет другой компилятор и он не переварит эти указания, то тоже неплохо - по крайней мере будут явно показано где находятся установки. И не придется догадываться о неких лично Ваших предпочтениях: QUOTE Лично я конфигурацию описываю в комментариях к Startup-у. Или не описываю, если получателю это не надо. Причем еще важный момент - даже если Вы где-то конфигурацию своими словами в комментариях описали, даже если это место кто-то найдет, то уж совпадение реальной конфигурации с той, что где-то в произвольном месте описана гарантировать никто не сможет. QUOTE А насчет подумать - процесс конфигурации с "подумать" ничего общего не имеет. Имеет. Думать, что и как делаешь, надо всегда, даже если это конфигурация  . Возможность задавать в исходном тексте инструкции непосредственно компилятору (пусть даже компиляторозависимо), а не человеку, по установке конфигурационных битов следует приветствовать и использовать. QUOTE (horoc @ Aug 10 2011, 21:45)  Прочитал и загорелся попробовать. Но CCS их не поддерживает. Какой компилятор выбрать? Для этого кроме C30 еще IAR. Но IAR уже отказались от поддержки PIC-ов. Посему все давно уже заброшено. Более 20 разных ядер поддерживают, а PIC-и уже нет. Не спроста это QUOTE (Прохожий @ Aug 10 2011, 21:49)  С30. В базе он бесплатный. По истечении 60 дней отключается абстрактный уровень оптимизации. При этом компилятор полностью работоспособен. В Lite версии это дело отключено изначально. Всякие усеченные огрызки бесплатны почти у всех. По той простой причине, что вот это: QUOTE В большинстве случаев и при определенном навыке этот уровень оптимизации и нафиг не нужен. совсем не так
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 11 2011, 12:57
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (YIG @ Aug 11 2011, 15:16)  Всё будет определяться только соотношением цена/качество Это какое-же офигительное "качество" надо втемяшить себе в голову, что-бы покупать те-же PIC16F707 контроллеры с 368 байтами RAM за 1,5-2 евро  . http://se.mouser.com/Search/Refine.aspx?Keyword=PIC16F707Тут дело совершенно не в "качестве"  , а в представлениях "папуасов"  о "ценности" бижутерии. Я на самом деле ничего явно против PIC не имею, и если они в конкретном случае будут удебнее/выгоднее - использую без всяких предрассудков. Беда в том, что как только начинать рассматривать кандидатуры не ограничивая себя рамками производителя, то как-то до использования PIC дело уже не доходит. Лично меня это не радует и не печалит. QUOTE да простят меня неистовые фаны AVR Ой, надо будет Xenia эту ссылочку послать - меня обозвали "фанатом AVR"  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 11 2011, 13:35
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (Dog Pawlowa @ Aug 11 2011, 16:13)  Делал два простеньких проекта на PIC16 на ИАРе - ошибок компилятора не заметил. Ну я жаловался на Hi-Tech. IAR не использовал по причине того, что это хозяйство мне досталось в наследство и заказчик уже использовал лицензионный Hi-Tech. К тому-же IAR выкинул даже упоминание о когда-то выпускавшихся компиляторах PIC12/16/17. Старшие хоть как не поддерживаемые лежат, а этот выкинут полностью. Последняя версия была 2002 году. QUOTE Обошлось без изучения архитектуры. Это чтобы, если уж вступил, то выбраться без погружения с головой  Да? Мне, например, пришлось писать эфирный загрузчик для PIC16 (больше 256 байт, кто понимает). Смею Вас заверить, что без изучения и заметного погружения это невозможно  .А когда компилятор путался в банках, пришлось достаточно плотно читать листинги. За стеком возвратов тоже пришлось ручками следить - программка в общем-то была не маленькая, одних разных радиоинтерфейсов четыре штуки.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|