реклама на сайте
подробности

 
 
5 страниц V  < 1 2 3 4 5 >  
Reply to this topicStart new topic
> Кто и в чём пишет на с для PIC16 ?, Подскажите с чего начать ?
MiklPolikov
сообщение Aug 10 2011, 17:58
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(_Pasha @ Aug 10 2011, 21:50) *
Влияет прежде всего на настройку ассемблера на подмножество инструкций. Указывать надо, иначе ругаеццо


А почему в одном примере написано LIST R=DEC , в учебнике P=PIC16F707 ? Что означают R , P, DEC ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Aug 10 2011, 18:01
Сообщение #32


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 ? Это строчка вообще на что-нибудь влияет ?

См. выше.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 10 2011, 18:02
Сообщение #33


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



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

LIST P=PIC16F707
RADIX DEC

емнип, было так. В любом случае, F1 for help sm.gif
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Aug 10 2011, 18:12
Сообщение #34


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-а даваться не будут.
Вопросы по поводу инструментария считаются моветоном.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 10 2011, 18:34
Сообщение #35


Гуру
******

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



QUOTE (Прохожий @ Aug 10 2011, 21:01) *
Проще все это указать в проекте.
Configure->Configuration Bits...

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






--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Aug 10 2011, 18:43
Сообщение #36


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



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

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

Сообщение отредактировал Прохожий - Aug 10 2011, 18:44
Go to the top of the page
 
+Quote Post
horoc
сообщение Aug 10 2011, 18:45
Сообщение #37


Участник
*

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



Цитата(Прохожий @ Aug 10 2011, 20:47) *
А для часов реального времени надо брать PIC24.
Там они аппаратные.
И компилятор С вполне пристойный.

Прочитал и загорелся попробовать. Но CCS их не поддерживает. Какой компилятор выбрать?
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Aug 10 2011, 18:49
Сообщение #38


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



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

С30.
В базе он бесплатный.
По истечении 60 дней отключается абстрактный уровень оптимизации.
При этом компилятор полностью работоспособен.
В Lite версии это дело отключено изначально.
В большинстве случаев и при определенном навыке этот уровень оптимизации и нафиг не нужен.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 11 2011, 08:56
Сообщение #39


Гуру
******

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



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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
VCO
сообщение Aug 11 2011, 12:16
Сообщение #40


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



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

Картельный (чуть не сказал Кортексный) сговор против Microchip ничего не даст сторонникам Atmel и STM. MPLAB X тоже не спроста повилась. Всё будет определяться только соотношением цена/качество, а PICи как раньше не подводили, так и сейчас не подводят, да простят меня неистовые фаны AVR.


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Aug 11 2011, 12:41
Сообщение #41


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(Прохожий @ Aug 10 2011, 14:01) *
Никогда не писал этот бред в коде непосредственно.
Проще все это указать в проекте.
Configure->Configuration Bits...

Странная логика, ну да ладно
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 11 2011, 12:57
Сообщение #42


Гуру
******

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



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.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 11 2011, 13:13
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Делал два простеньких проекта на PIC16 на ИАРе - ошибок компилятора не заметил.
Обошлось без изучения архитектуры.
Это чтобы, если уж вступил, то выбраться без погружения с головой sm.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 11 2011, 13:35
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 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
Обошлось без изучения архитектуры.
Это чтобы, если уж вступил, то выбраться без погружения с головой sm.gif

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Aug 11 2011, 14:33
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Пара вопросов :

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 .


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 5 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 09:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01528 секунд с 7
ELECTRONIX ©2004-2016