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

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


Voltage Control Output
******

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



Цитата(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, если Вас это устроит, хотя я уже все проекты в Спартаны перевёл.


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Aug 11 2011, 15:10
Сообщение #47


Cундук
*****

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



Цитата(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
Go to the top of the page
 
+Quote Post
SKov
сообщение Aug 11 2011, 15:25
Сообщение #48


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



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

Это просто напоминание (Ensure - в смысле удостоверьтесь, что все правильно).
Не обращайте внимания. Все правильно.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 11 2011, 15:38
Сообщение #49


;
******

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



Цитата(Прохожий @ Aug 11 2011, 18:10) *
Надо как-то так:
Код
     movlb    0X01

Неа! wink.gif Там не было еще movlb.
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Aug 11 2011, 15:46
Сообщение #50


Cундук
*****

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



Цитата(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

Опять же. Я это утверждаю не просто так.
А на основании проведенных исследований.
Go to the top of the page
 
+Quote Post
xemul
сообщение Aug 11 2011, 15:54
Сообщение #51



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



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

Ассемблер транслирует Ваши буквоцифры в буквоцифры, понятные контроллеру, и не более. Отслеживать, с каким банком Вы сейчас работаете, не его забота.
См. hlpMPASMAsm.chm
Код
;Simple Example
errorlevel -302; Turn off banking message
               ; known tested (good) code
...
errorlevel +302; Enable banking message
               ; untested code
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Aug 11 2011, 15:56
Сообщение #52


Cундук
*****

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



Цитата(_Pasha @ Aug 11 2011, 19:38) *
Неа! wink.gif Там не было еще movlb.

У меня МК PIC16F1823.
Там уже все есть.
А в PIC16F707, действительно, movlb еще нет.


Сообщение отредактировал Прохожий - Aug 11 2011, 16:03
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 11 2011, 16:04
Сообщение #53


;
******

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



Цитата(Прохожий @ Aug 11 2011, 18:56) *
Не знаю.
У меня МК PIC16F1823.
Там уже все есть.

А в 707-м еще не было. Они ж разительно отличаются, эти 16-е XLP,- почти как 18-е. Кстати, если принять тот постулат, что 18-е прямее 16-х, то указанный XLP все ж прямее.
Автор топика поторопился с выбором ...
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Aug 11 2011, 16:19
Сообщение #54


Cундук
*****

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



Цитата(_Pasha @ Aug 11 2011, 20:04) *
А в 707-м еще не было. Они ж разительно отличаются, эти 16-е XLP,- почти как 18-е. Кстати, если принять тот постулат, что 18-е прямее 16-х, то указанный XLP все ж прямее.
Автор топика поторопился с выбором ...

Однозначно.
Надо было вообще брать что-то из серии PIC24FV32KA304.
Цена отличается не сильно, а вкусностей и простора для творчества в последнем варианте больше.
А банки, что у 16-х, что у 18-х.
А это не есть гуд.

Цитата(ar__systems @ Aug 11 2011, 16:41) *
Странная логика, ну да ладно

Ничего странного.
Простая сельская логика.
Вам не понять.

Сообщение отредактировал Прохожий - Aug 11 2011, 16:20
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Aug 18 2011, 21:38
Сообщение #55


Гуру
******

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



Цитата
Почему mplab не компилирует строчку __CONFIG ? Ругается что Argument out of range (not a valid config register address)


Отвечаю сам на свой вопрос про __CONFIG :
Дело в том что в PIC16F707 регистров конфигурации два, и нужно писать так :
__CONFIG _CONFIG, _INTOSCIO
__CONFIG _CONFIG2, _VCAPEN_OFF
_CONFIG и _CONFIG2 - адреса этих регистров.


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


Гуру
******

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



Вопрос :
что означает деление памяти программ на 4 страницы ? Это как-то влияет на мой код ? Переходы с одной страницы на другую и т.п. ?


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


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



В инструкцию не помещается весь адрес для перехода.
Поэтому старшие биты адреса берутся не из кода инструкции, а из битов RP1 и RP0 регистра STATUS.

Похоже, но не про то: STATUS.IRP = старший бит адреса рам.

Так удобнее, что ли, разбираться...

(прочитал название сабжа; за конкретно сабж не в курсе, но/а с железной точки смысл как-то так)

Сообщение отредактировал нечитатель - Aug 20 2011, 07:50
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Aug 20 2011, 07:55
Сообщение #58


Гуру
******

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



Цитата(нечитатель @ Aug 20 2011, 11:48) *
В инструкцию не помещается весь адрес для перехода.
Поэтому старшие биты адреса берутся не из кода инструкции, а из битов RP1 и RP0 регистра STATUS.

Похоже, но не про то: STATUS.IRP = старший бит адреса рам.

Так удобнее, что ли, разбираться...

(прочитал название сабжа; за конкретно сабж не в курсе, но/а с железной точки смысл как-то так)


RP0 RP1 - это ведь для адресации банков оперативной памяти. А я спрашиваю про страницы памяти программ. Которые я вижу на карте памяти.


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


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

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
какая самая хорошая среда для того что бы писать на С для PIC16 и внутрисхемно отлаживать при помощи PICkit2 ?
пишу в SDCC, отлаживаю в Proteus
Цитата
С отсутствием нормальных стеков и 256 байтовыми банками памяти познакомитесь в ходе дела
если писать на С, то не придется

Сообщение отредактировал ukpyr - Aug 20 2011, 07:59
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 20 2011, 10:28
Сообщение #60


;
******

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



Цитата(ukpyr @ Aug 20 2011, 10:57) *
если писать на С, то не придется

Как раз софтовый стек таким колом встает, что приходится все переменные делать static. Это, правда, MCC18 такой "мудрый" sm.gif Но я на 16-х давненько ничего не делал.

Сообщение отредактировал _Pasha - Aug 20 2011, 10:29
Go to the top of the page
 
+Quote Post

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

 


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


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