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

 
 
> Кто и в чём пишет на с для PIC16 ?, Подскажите с чего начать ?
MiklPolikov
сообщение Aug 10 2011, 15:03
Сообщение #1


Гуру
******

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



Подскажите, какая самая хорошая среда для того что бы писать на С для PIC16 и внутрисхемно отлаживать при помощи PICkit2 ?
В интернете много разных советов, то однозначного мнения и инстукций к действиям не нашёл. Подскажите с чего лучше начать ?
До этого работал в KEIL и AVRstudio


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Aug 10 2011, 15:13
Сообщение #2


Гуру
******

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



QUOTE (MiklPolikov @ Aug 10 2011, 18:03) *
Подскажите с чего лучше начать ?

С выбора другого контролера.
PIC16 безнадежно устаревший. Архитектура полное убожество и на компиляторы ложится погано. За многие десятилетия вменяемых компиляторов не появилось и уж тем более не появятся. Один среди равных по дерьмовости - Hi-Tech. До знакомсва с ним я полагал, что в 21 веке нарваться на ошибки в компиляторе достаточно сложно. Оказалось ошибался. Hi-Tech интегрируется, для немогущих без тупого и безмозглого брожения отладчиком в такую-же криво-убогую MPLAB. Только в помутнении рассудка можно думать об использовании PIC16 чего-нибудь сложнее, чем сотня команд на ASM для 8-pin версий этого контроллера.


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


;
******

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



Цитата(zltigo @ Aug 10 2011, 18:13) *
Один среди равных по дерьмовости - Hi-Tech.

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

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

Насколько она несложная?
На АСМе оч. может быть все напишете быстрей, 36 команд выучиваются за день. Уникальный кривой случай... sm.gif
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Aug 10 2011, 16:43
Сообщение #4


Гуру
******

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



Цитата(_Pasha @ Aug 10 2011, 20:12) *
Насколько она несложная?


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

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


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


Cундук
*****

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



Цитата(MiklPolikov @ Aug 10 2011, 20:43) *
Часы реального времени +прерывание от кнопки + прерывание от таймера + поиграть ножками .

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

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

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

А для часов реального времени надо брать PIC24.
Там они аппаратные.
И компилятор С вполне пристойный.
Архитектура - просто сказка - ортогональная и симметричная.
Для Вашего случая PIC24FV32KA304.
Питание - 5 Вольт.
Вполне можно выбрать близкий по цене к PIC16F707 вариант.


Сообщение отредактировал Прохожий - Aug 10 2011, 16:51
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Aug 10 2011, 17:16
Сообщение #6


Гуру
******

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



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


Уже выбрал PIC16F707 . Там таймер может работать от внешнего кварца 32КГц . Это то что надо.


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


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



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

Ну,а теперь прикиньте объём программы которую Вам надо будет написать для обработки часов - секунды , минуты, часы ,дни ,года , високосные года -февраль....ВЕКА


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Aug 10 2011, 17:29
Сообщение #8


Cундук
*****

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



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

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


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

А под Виндой вообще ничего не надо...
Здесь гораздо интереснее не это.
А то, как человек будет знать время при отсутствии питания...
У PIC24 для этих целей уже все есть.


Сообщение отредактировал Прохожий - Aug 10 2011, 17:30
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 10 2011, 17:35
Сообщение #9


Гуру
******

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



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

Что есть sm.gif встроенный источник питания sm.gif??? Ну а при наличии питания, будет просто считать секунды в 32bit счетчике. Причем в большинстве случаев всякие века-года-месяцы-... и прочие рассчитанные на человека уродские системы регистрации времени просто не нужны и вредны.


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


Гуру
******

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



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


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


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
zltigo
сообщение Aug 10 2011, 18:34
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #13


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
zltigo
сообщение Aug 11 2011, 08:56
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #15


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
zltigo
сообщение Aug 11 2011, 12:57
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 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

Сообщений в этой теме
- MiklPolikov   Кто и в чём пишет на с для PIC16 ?   Aug 10 2011, 15:03
|- - MiklPolikov   Цитата(zltigo @ Aug 10 2011, 19:13) С выб...   Aug 10 2011, 15:25
||- - Прохожий   Цитата(MiklPolikov @ Aug 10 2011, 19:25) ...   Aug 10 2011, 15:56
||- - MiklPolikov   Цитата(Прохожий @ Aug 10 2011, 19:56) А В...   Aug 10 2011, 16:00
||- - Прохожий   Цитата(MiklPolikov @ Aug 10 2011, 20:00) ...   Aug 10 2011, 16:40
||- - zltigo   QUOTE (Прохожий @ Aug 10 2011, 19:40) Ана...   Aug 10 2011, 16:58
|||- - Прохожий   Цитата(zltigo @ Aug 10 2011, 20:58) IDE к...   Aug 10 2011, 17:12
||- - _Pasha   Цитата(Прохожий @ Aug 10 2011, 19:40) Я е...   Aug 10 2011, 17:39
|- - Прохожий   Цитата(zltigo @ Aug 10 2011, 19:13) С выб...   Aug 10 2011, 15:47
||- - MiklPolikov   Цитата(Прохожий @ Aug 10 2011, 19:47) Изд...   Aug 10 2011, 15:49
|- - _Pasha   Цитата(zltigo @ Aug 10 2011, 18:13) Один ...   Aug 10 2011, 16:12
||- - Прохожий   Цитата(zltigo @ Aug 10 2011, 21:35) Что е...   Aug 10 2011, 17:43
||- - _Pasha   Цитата(MiklPolikov @ Aug 10 2011, 20:46) ...   Aug 10 2011, 17:50
|||- - MiklPolikov   Цитата(_Pasha @ Aug 10 2011, 21:50) Влияе...   Aug 10 2011, 17:58
|||- - _Pasha   Цитата(MiklPolikov @ Aug 10 2011, 20:58) ...   Aug 10 2011, 18:02
|||- - Прохожий   Цитата(MiklPolikov @ Aug 10 2011, 21:58) ...   Aug 10 2011, 18:12
||||- - YIG   Цитата(zltigo @ Aug 11 2011, 15:57) Это к...   Aug 11 2011, 14:58
|||- - Прохожий   Цитата(zltigo @ Aug 11 2011, 12:56) Имеет...   Aug 11 2011, 15:46
||- - ar__systems   Цитата(Прохожий @ Aug 10 2011, 14:01) Ник...   Aug 11 2011, 12:41
|- - horoc   Цитата(Прохожий @ Aug 10 2011, 20:47) А д...   Aug 10 2011, 18:45
|- - Прохожий   Цитата(horoc @ Aug 10 2011, 22:45) Прочит...   Aug 10 2011, 18:49
- - zltigo   QUOTE (MiklPolikov @ Aug 10 2011, 18:25) ...   Aug 10 2011, 15:32
|- - MiklPolikov   Цитата(zltigo @ Aug 10 2011, 19:32) Типа ...   Aug 10 2011, 15:34
|- - zltigo   QUOTE (MiklPolikov @ Aug 10 2011, 18:34) ...   Aug 10 2011, 15:39
- - zltigo   QUOTE (Прохожий @ Aug 10 2011, 18:47) MPL...   Aug 10 2011, 16:02
- - YIG   Для начала ASM АДНАЗНАЧНА! И никого больше не ...   Aug 10 2011, 17:15
|- - Прохожий   Цитата(YIG @ Aug 10 2011, 21:15) ...Потом...   Aug 10 2011, 17:23
- - zltigo   QUOTE (YIG @ Aug 10 2011, 20:15) И никого...   Aug 10 2011, 17:23
|- - YIG   Цитата(zltigo @ Aug 10 2011, 20:23) А вот...   Aug 10 2011, 17:57
- - Dog Pawlowa   Делал два простеньких проекта на PIC16 на ИАРе - о...   Aug 11 2011, 13:13
|- - zltigo   QUOTE (Dog Pawlowa @ Aug 11 2011, 16:13) ...   Aug 11 2011, 13:35
|- - MiklPolikov   Пара вопросов : 1)Я правильно понял, что в самой ...   Aug 11 2011, 14:33
|- - Прохожий   Цитата(MiklPolikov @ Aug 11 2011, 18:33) ...   Aug 11 2011, 15:10
||- - _Pasha   Цитата(Прохожий @ Aug 11 2011, 18:10) Над...   Aug 11 2011, 15:38
||- - Прохожий   Цитата(_Pasha @ Aug 11 2011, 19:38) Неа...   Aug 11 2011, 15:56
||- - _Pasha   Цитата(Прохожий @ Aug 11 2011, 18:56) Не ...   Aug 11 2011, 16:04
||- - Прохожий   Цитата(_Pasha @ Aug 11 2011, 20:04) А в 7...   Aug 11 2011, 16:19
||- - MiklPolikov   ЦитатаПочему mplab не компилирует строчку __CONFIG...   Aug 18 2011, 21:38
||- - MiklPolikov   Вопрос : что означает деление памяти программ на 4...   Aug 19 2011, 19:25
|- - SKov   Цитата(MiklPolikov @ Aug 11 2011, 18:33) ...   Aug 11 2011, 15:25
|- - xemul   Цитата(MiklPolikov @ Aug 11 2011, 18:33) ...   Aug 11 2011, 15:54
- - нечитатель   В инструкцию не помещается весь адрес для перехода...   Aug 20 2011, 07:48
|- - MiklPolikov   Цитата(нечитатель @ Aug 20 2011, 11:48) В...   Aug 20 2011, 07:55
- - ukpyr   Цитатакакая самая хорошая среда для того что бы пи...   Aug 20 2011, 07:57
|- - _Pasha   Цитата(ukpyr @ Aug 20 2011, 10:57) если п...   Aug 20 2011, 10:28
- - нечитатель   ЦитатаRP0 RP1зачеркнуть, исправить на PCLATH. Оно ...   Aug 20 2011, 10:39
|- - MiklPolikov   А как в MPLAB узнать как физически расположена про...   Aug 20 2011, 11:09
|- - _Pasha   Цитата(MiklPolikov @ Aug 20 2011, 14:09) ...   Aug 20 2011, 13:55
|- - MiklPolikov   Всем спасибо ! Написал и работает. MPLAB - не...   Sep 3 2011, 17:37
|- - haker_fox   QUOTE (MiklPolikov @ Sep 4 2011, 02:37) P...   Sep 4 2011, 02:26
|- - _Pasha   Цитата(haker_fox @ Sep 4 2011, 05:26) Нач...   Sep 4 2011, 07:09
|- - haker_fox   QUOTE (_Pasha @ Sep 4 2011, 16:09) Начин...   Sep 4 2011, 11:53
- - ViKo   Писал для PIC16 на ассемблере достаточное количест...   Sep 4 2011, 17:44


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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 07:35
Рейтинг@Mail.ru


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