Форум Микро-Чип

Форум Микро-Чип (http://www.microchip.su/index.php)
-   Продукция MICROCHIP (http://www.microchip.su/forumdisplay.php?f=6)
-   -   MPLAB IDE X (http://www.microchip.su/showthread.php?t=10760)

ILYAMP 30.05.2013 15:46

Re: MPLAB IDE X
 
Переписал функцию для "удобочитаемости"
Код:


inline void ConfigureDMAs(void)//
{
//
#define DMA_IRQSEL_ADC 0xFF8D
//
DMA0REQ  &= (DMA0_AUTOMATIC & DMA_IRQSEL_ADC);   
DMA0PAD    = (volatile unsigned int)&ADC1BUF0;    //               
DMA0STA    = __builtin_dmaoffset(&adc_buff_A);    // настройка буфера A
DMA0STB    = __builtin_dmaoffset(&adc_buff_B);    // настройка буфера B
DMA0CNT    = 47;                    // настройка счётчика трансферов DMA
DMA0CON &= (DMA0_CONTINUOUS_PING_PONG & DMA0_PERIPHERAL_INDIRECT & DMA0_NORMAL \
        & DMA0_INTERRUPT_BLOCK & PERIPHERAL_TO_DMA0 & DMA0_SIZE_WORD) ;
//
IFS0bits.DMA0IF    = 0;   
EnableIntDMA0
//       
DMA0CONbits.CHEN= 1;                // канал включен   
}
//

только вопрос не в функции, я полагаю

ILYAMP 30.05.2013 16:38

Re: MPLAB IDE X
 
Свои сообщения больше не редактируются? :-(
исправил пару ошибок

Код:

inline void ConfigureDMAs(void)//
{
//
#define DMA_IRQSEL_ADC 0xFF8D
//
DMA0REQ |= (DMA0_AUTOMATIC & DMA_IRQSEL_ADC);
DMA0PAD    = (volatile unsigned int)&ADC1BUF0;    //               
DMA0STA    = __builtin_dmaoffset(&adc_buff_A);    // настройка буфера A
DMA0STB    = __builtin_dmaoffset(&adc_buff_B);    // настройка буфера B
DMA0CNT    = 47;                    // настройка счётчика трансферов DMA
DMA0CON |= (DMA0_MODULE_OFF & DMA0_CONTINUOUS_PING_PONG & DMA0_PERIPHERAL_INDIRECT & DMA0_NORMAL \
        & DMA0_INTERRUPT_BLOCK & PERIPHERAL_TO_DMA0 & DMA0_SIZE_WORD) ;
//
IFS0bits.DMA0IF    = 0;   
EnableIntDMA0;
//       
DMA0CONbits.CHEN= 1;                // канал включен

}

Результат:

Running

Single breakpoint: @0x5CC
DMA-W003: The peripheral address is not SFR expected with this IRQ:address:4700 irq:d
DMA-W004: The address is not a valid DMA address:address:300 irq:d

dosikus 30.05.2013 21:03

Re: MPLAB IDE X
 
Цитата:

Сообщение от ILYAMP (Сообщение 184997)
исправил пару ошибок

Вы серьезно ? :D

Код:

DMA0REQ |= (DMA0_AUTOMATIC & DMA_IRQSEL_ADC);
Код:

DMA0CON |= (DMA0_MODULE_OFF & DMA0_CONTINUOUS_PING_PONG & DMA0_PERIPHERAL_INDIRECT & DMA0_NORMAL \
        & DMA0_INTERRUPT_BLOCK & PERIPHERAL_TO_DMA0 & DMA0_SIZE_WORD) ;


ILYAMP 30.05.2013 22:38

Re: MPLAB IDE X
 
Вполне серьёзно
А какие возражения?

ILYAMP 04.06.2013 15:13

Re: MPLAB IDE X
 
Установил версию MPLABX 1.80 вместо 1.70
Странные сообщения отладчика о неправильной инициализации
Код:

DMA-W003: The peripheral address is not SFR expected with this IRQ:address:4700 irq:d
DMA-W004: The address is not a valid DMA address:address:300 irq:d

сразу пропали. Думаю, был баг старой версии.

Симуляция ADC через подключенный файл *.scl или просто через *.sbs, к сожалению, не проходит.
Может, какая настройка виновата...

В версии MPLAB 8.80 всё работает с теми же исходниками как часы.
Правда в MPLAB 8.80 подключен другой компилятор С30 (1.31), но компилятор на симуляцию АЦП вроде не должен влиять.

Ещё, смеха ради, сравнил скорость симуляции для одного и того же компьютера в одно и то же время.
Получились интересные цифры: симулятор MPLABX 1.80 работает медленнее симулятора MPLAB 8.80 примерно в ТРИДЦАТЬ СЕМЬ(!) раз.

Iwan73 26.06.2013 16:51

Re: MPLAB IDE X
 
Здравствуйте,а как связать MPLAB X 1.7 и Proteus? В 8-ке все просто у удобно,а на Х засада.

dosikus 26.06.2013 17:54

Re: MPLAB IDE X
 
И вся засада именно в дотX . Ну не понимает ни кто, кроме разрабов МыПылаб ,
на кой хрен нужны подобные имена папок. Захотели вы..ться , это у них прекрасно вышло.
После создания проекта переименовывайте папку проекта - убирайте на
точку с Х ...

dosikus 26.06.2013 17:55

Re: MPLAB IDE X
 
Цитата:

Сообщение от ILYAMP (Сообщение 185184)
Ещё, смеха ради, сравнил скорость симуляции для одного и того же компьютера в одно и то же время.
Получились интересные цифры: симулятор MPLABX 1.80 работает медленнее симулятора MPLAB 8.80 примерно в ТРИДЦАТЬ СЕМЬ(!) раз.

Win7 64 ? И жаба конечно 64 ? :D

Iwan73 26.06.2013 18:04

Re: MPLAB IDE X
 
симуляцию в нем не уходя из мплаба как в 8 хотел проверять,удобно все же ,тем более когда еще не профи и хочется видеть что с периферией происходит,для меня по крайней мере,чем прыгать из проги в прогу. установил плагин Proteusа в Х как он и предлогал но толку то нет. Так и придется скакать что ли? у кого-нибудь эта связка работает вообще?

ILYAMP 27.06.2013 15:21

Re: MPLAB IDE X
 
Цитата:

Сообщение от dosikus (Сообщение 186347)
Win7 64 ? И жаба конечно 64 ? :D

XP SP3
проверено корректно
java однако...

valdemar 27.06.2013 16:14

Re: MPLAB IDE X
 
Вложений: 1
Цитата:

Сообщение от Iwan73 (Сообщение 186348)
у кого-нибудь эта связка работает вообще?

У меня работает. Нужно в свойствах плагина прописать порт 8000 вместо 8001 по умолчанию, указать location дизайна ну и соответственно в самом дизайне в свойствах поставить птичку Use Remote debug monitor и в завершение в свойствах Пика узазать coff файл

valdemar 27.06.2013 16:25

Re: MPLAB IDE X
 
Вложений: 1
Я тут собственно по другому вопросу. Кто подскажет что значит символ Р в окне просмотра переменных. Вызывая подпрограмму я передаю туда значение, которое присваивается переменной, в данном случае PWM. Но значение совсем другое и странный символ Р внутри.

dosikus 27.06.2013 16:39

Re: MPLAB IDE X
 
Цитата:

Сообщение от valdemar (Сообщение 186407)
Но значение совсем другое и странный символ Р внутри.

Programm memory ...

Lyt93 06.07.2013 01:37

Re: MPLAB IDE X
 
вот такой код
Код:

#include <pic16f84.h>
void main()
{
        while(1)
        {
                PORTB=0x02;
                PORTA=0x01;
        };
}

вот такой дизассемблер:
Код:

PORTB=0x02;
03F7  3002      MOVLW 0x2
03F8  0086      MOVWF PORTB
10:                                    PORTA=0x01;
03F9  3001      MOVLW 0x1
03FA  0085      MOVWF PORTA

при отладке в окне sfr porta/portb не меняется
MPlabX+XC8

Sun525 06.07.2013 02:31

Re: MPLAB IDE X
 
Если не ошибаюсь то сначала надо порты ны выход настроить.(TRISA и TRISB)

dimonomid 06.07.2013 12:50

Re: MPLAB IDE X
 
Цитата:

Сообщение от Lyt93 (Сообщение 186760)
вот такой код
Код:

#include <pic16f84.h>
void main()
{
        while(1)
        {
                PORTB=0x02;
                PORTA=0x01;
        };
}


Во-первых, как вам уже сказал Sun525, нужно, действительно, настроить порты на выход:
Код:

TRISA = 0;
TRISB = 0;

Во-вторых, для записи в порт нужно использовать регистры LAT, а не PORT. Чуть подробнее вот тут.
Ну и в-третьих, к MPLAB X это не имеет никакого отношения. =)

dosikus 06.07.2013 12:58

Re: MPLAB IDE X
 
Цитата:

Сообщение от dimonomid (Сообщение 186773)
Во-вторых, для записи в порт нужно использовать регистры LAT, а не PORT. Чуть подробнее вот тут.

Ну а в четвертых - найди-ка LAT'ы в 84 . :D

dimonomid 06.07.2013 13:15

Re: MPLAB IDE X
 
Цитата:

Сообщение от dosikus (Сообщение 186774)
Ну а в четвертых - найди-ка LAT'ы в 84 . :D

упс :-[ извиняюсь!

AleksBak 25.07.2013 00:41

Re: MPLAB IDE X
 
Глючная вещь все-таки эта МПЛАБ Х. Хотя немного приятнее в ней работать чем в старой. Сейчас в 1.80 появился странный глюк у редактора - после переименования(рефакторинга) переменной далее со строкой с этой переменной невозможно работать - редактор просто не дает в этой строке что-то менять (сама переименованная переменная подсвечивается при этом как и задуманно и все!). Приходится перезапускать МПЛАБ. А в более старых версиях такого и близко не было! Иногда, после некоторого времени работы в МПЛАБ, работа с отладчиком Pickit3 (либо просто программирование, либо отладка) вызывает внезапное мгновенное закрытие среды(!). Хорошо хоть при этом проект сохраняется при сборке. Получается у нее с возрастанием номера версии теперь появляются новые баги вместо возможного устранения старых? Вообще кто-нибудь в Микрочипе тестирует это свое детище? Что за программеры-кодеры у них там работают?

valdemar 25.07.2013 01:44

Re: MPLAB IDE X
 
Цитата:

Что за программеры-кодеры у них там работают?
Здесь уже кто то упоминал, что MPLABX писал какой то индус левой пяткой. :) А вообще попробуй поставить 1.85, может там этот глюк пофиксили...

besogon 25.07.2013 08:33

Re: MPLAB IDE X
 
Сейчас в 1.80 появился странный глюк у редактора - после переименования(рефакторинга) переменной далее со строкой с этой переменной невозможно работать. - расскажите подробней об этом. Работаю с MPLABX - не замечал такого.

besogon 25.07.2013 08:56

Re: MPLAB IDE X
 
Вообще помню в mplabx с pickit2 есть изъян, что в некоторых случаях pic12f675/pic12f629 он в неправильно калибрует OSCCAL.
когда и почему - так выяснить и не удалось. время от времени и без видимой на то причины.

AleksBak 25.07.2013 08:57

Re: MPLAB IDE X
 
Цитата:

Сообщение от besogon (Сообщение 187477)
...подробней об этом. Работаю с MPLABX - не замечал такого.

Например имеется написанная функция:
Код:


void fumu1(int param1, int param2)
{
  ...
  if(param1) // просто для примера что-то типа делаем с param1
  {
      ...
  }
  ...
}

если теперь в редакторе выбрать в контекстном меню для param1 -> Refactoring -> Rename (Ctrl + R можно также нажать после его выделения) и далее переименовать этот param1(это делается там где объявляется переменная), то он переименуется, но в строке где он есть (например в нашем примере в строке с оператором if(param1) - см. код примера) его нельзя будет не переместить, ни удалить и вообще что-то дописать в эту строку невозможно будет. Вот такой глюк новенький ввели. :) А насчет 1.85 хорошая идея - надо попробывать и не знал, что уже вышла. Еще пользуясь моментом опять хотел предупредить насчет того, что ICD3 палит 32-е пики если запустить в его меню "Check Communication" (есть такой пункт в меню у него). Может в новой и исправили - неизвестно, но ранее было так.

besogon 25.07.2013 09:08

Re: MPLAB IDE X
 
Проверил у себя.
у меня бага нет.
Увы, забыл - судя по всему когда-то обновил до 1.85.
Но и 1.80 стояла - вряд-ли я бы не заметил, что что-то не так.

c mplabx работаю через java-машину icedtea собирал с -O3 флаги
Installed versions: 7.2.3.8(7)(15:07:50 11.04.2013)(X alsa cups jbootstrap nsplugin nss source webstart -cjk -debug -doc -examples -javascript -pax_kernel -pulseaudio -systemtap -test ELIBC="-FreeBSD")

с java от oracle работоспособность не проверял.

AleksBak 25.07.2013 09:18

Re: MPLAB IDE X
 
Цитата:

Сообщение от besogon (Сообщение 187482)
Проверил у себя.
у меня бага нет.
Увы, забыл - судя по всему когда-то обновил до 1.85.
Но и 1.80 стояла - вряд-ли я бы не заметил, что что-то не так.

c mplabx работаю через java-машину icedtea собирал с -O3 флаги
Installed versions: 7.2.3.8(7)(15:07:50 11.04.2013)(X alsa cups jbootstrap nsplugin nss source webstart -cjk -debug -doc -examples -javascript -pax_kernel -pulseaudio -systemtap -test ELIBC="-FreeBSD")

с java от oracle работоспособность не проверял.

А точно так проверили как я написал? У меня обычная java от Oracle (Sun-овская была). Win7 / 64. Не знал, что можно другую java использовать тут.


Часовой пояс GMT +3, время: 17:41.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot