Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кто и в чём пишет на с для PIC16 ?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Страницы: 1, 2
xemul
Цитата(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
Прохожий
Цитата(_Pasha @ Aug 11 2011, 19:38) *
Неа! wink.gif Там не было еще movlb.

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

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

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

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

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


Отвечаю сам на свой вопрос про __CONFIG :
Дело в том что в PIC16F707 регистров конфигурации два, и нужно писать так :
__CONFIG _CONFIG, _INTOSCIO
__CONFIG _CONFIG2, _VCAPEN_OFF
_CONFIG и _CONFIG2 - адреса этих регистров.
MiklPolikov
Вопрос :
что означает деление памяти программ на 4 страницы ? Это как-то влияет на мой код ? Переходы с одной страницы на другую и т.п. ?
нечитатель
В инструкцию не помещается весь адрес для перехода.
Поэтому старшие биты адреса берутся не из кода инструкции, а из битов RP1 и RP0 регистра STATUS.

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

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

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

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

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

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


RP0 RP1 - это ведь для адресации банков оперативной памяти. А я спрашиваю про страницы памяти программ. Которые я вижу на карте памяти.
ukpyr
Цитата
какая самая хорошая среда для того что бы писать на С для PIC16 и внутрисхемно отлаживать при помощи PICkit2 ?
пишу в SDCC, отлаживаю в Proteus
Цитата
С отсутствием нормальных стеков и 256 байтовыми банками памяти познакомитесь в ходе дела
если писать на С, то не придется
_Pasha
Цитата(ukpyr @ Aug 20 2011, 10:57) *
если писать на С, то не придется

Как раз софтовый стек таким колом встает, что приходится все переменные делать static. Это, правда, MCC18 такой "мудрый" sm.gif Но я на 16-х давненько ничего не делал.
нечитатель
Цитата
RP0 RP1
зачеркнуть, исправить на PCLATH.
Оно и есть полезность вручную по памяти, зато своими словами.
Цитата
если писать на С, то
... наподобие свиняки в апельсинах насрал ушёл отметился. Потому что интернет.
MiklPolikov
А как в MPLAB узнать как физически расположена программа в памяти ? Кончилась 1ая страница или ещё нет ?
_Pasha
Цитата(MiklPolikov @ Aug 20 2011, 14:09) *
А как в MPLAB узнать как физически расположена программа в памяти ? Кончилась 1ая страница или ещё нет ?

page 26 в ДШ на Ваш любимый проц sm.gif
MiklPolikov
Всем спасибо !
Написал и работает.

MPLAB - не на много сложнее блокнока в Windows , и абсолютно безглючна. Зря тут её ругали.
PIC- удивительно прост и понятен.
В целом всё очень приятно, только времени отнимает раз в 10 больше чем СИ



haker_fox
QUOTE (MiklPolikov @ Sep 4 2011, 02:37) *
PIC- удивительно прост и понятен.
В целом всё очень приятно, только времени отнимает раз в 10 больше чем СИ

bb-offtopic.gif Ностальгия... rolleyes.gif Начинал с пиков в далеком 2002, бросил в далеком 2004... rolleyes.gif
Простите за офф.
_Pasha
Цитата(haker_fox @ Sep 4 2011, 05:26) *
Начинал с пиков в далеком 2002, бросил в далеком 2004... rolleyes.gif

sm.gif Начинал в далеком 1996, бросил в далеком 1999. Вернулся обратно в далеком 2010. laughing.gif
haker_fox
QUOTE (_Pasha @ Sep 4 2011, 16:09) *
sm.gif Начинал в далеком 1996, бросил в далеком 1999. Вернулся обратно в далеком 2010. laughing.gif

Вот и история! rolleyes.gif
ViKo
Писал для PIC16 на ассемблере достаточное количество, чтобы знать все команды (не только те 33 железных, но и псевдокоманды, которые позволяет использовать макроассемблер) sm.gif.
Пару лет назад попробовал Hi-Tech PICC Pro (хотя читал нелестные отзывы), очень понравилось. Глюков, приводящих к потере работоспособности проекта, не обнаружил. Не считая попыток извращения с указателями на функции. И избыточности при переходе со страницы на страницу. Рекомендую попробовать.
Хотя, для нового проекта PIC16 уже не возьму.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.