Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
02.03.2016, 13:47
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
MPLAB X IDE прерывания
перешел с микробасика на mplab c - не могу разобраться как задать прерывание - авто имена есть?если есть как вызвать? спасибо
|
|
|
|
02.03.2016, 22:18
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: MPLAB X IDE прерывания
грустно как то! тут что специалистов нет?
|
|
|
|
02.03.2016, 22:55
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: MPLAB X IDE прерывания
Dtolok, Идешь в C:\Program Files (x86)\Microchip\xc8\v1.36\docs
Открываешь MPLAB_XC8_C_Compiler_User_Guide.pdf.
Вбиваешь в поиск interrupt и читаешь до посинения. Там же найдешь ответы и на свои будущие вопросы...
__________________
Осторожно , злой кот
|
|
|
Сказали "Спасибо" dosikus
|
|
|
02.03.2016, 23:45
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: MPLAB X IDE прерывания
точно что до посинения!!! таблицы для dspic33e нет - а оп IRQ - плюется на любые комбинации!!
так как все таки правильно?
Цитата:
|
void __attribute__((__interrupt__,__auto_psv__(__irq__( 52))))
MyIRQ(void);
|
|
|
|
|
02.03.2016, 23:47
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: MPLAB X IDE прерывания
Dtolok, для DSPIC33 явно же не XC8 ...
C:\Program Files (x86)\Microchip\xc16\v1.25\docs
MPLAB_XC16_C_Compiler_Users_Guide.pdf
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 02.03.2016 в 23:51.
|
|
|
|
03.03.2016, 00:08
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: MPLAB X IDE прерывания
пример из него и взят
Цитата:
|
void __attribute__ (( interrupt, shadow, no_auto_psv )) _PWM1Interrupt(void)
{
//ERRMotor();
//Lcd_Out(2,14,"FLT");
temp = 3;
PWMCON1bits.FLTSTAT = 0;
}
|
не видит прерывание по имени...
|
|
|
|
03.03.2016, 00:14
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: MPLAB X IDE прерывания
чего то у меня сомнения закрались ! может я не так прерывание для FAULT вызываю??
|
|
|
|
03.03.2016, 00:20
|
|
Гражданин KAZUS.RU
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
|
Re: MPLAB X IDE прерывания
точно! с прерыванием разобрался
Цитата:
|
PWMCON1bits.FLTIEN = 1; // включить прерывание по FAULT
PWMCON2bits.FLTIEN = 1; // включить прерывание по FAULT
PWMCON3bits.FLTIEN = 1; // включить прерывание по FAULT
IFS5bits.PWM1IF = 0; //Clear Flag
IFS5bits.PWM2IF = 0; //Clear Flag
IFS6bits.PWM3IF = 0; //Clear Flag
IEC5bits.PWM1IE = 1; //Clear Flag
IEC5bits.PWM2IE = 1; //Clear Flag
IEC6bits.PWM3IE = 1; //Clear Flag
void __attribute__ (( interrupt, shadow, no_auto_psv )) _PWM1Interrupt(void)
{
//ERRMotor();
//Lcd_Out(2,14,"FLT");
temp = 3;
PWMCON1bits.FLTSTAT = 0;
IFS5bits.PWM1IF = 0; //Clear Flag
}
void __attribute__ (( interrupt, shadow, no_auto_psv )) _PWM2Interrupt(void)
{
// ERRMotor();
//Lcd_Out(2,14,"FLT");
temp = 2;
PWMCON1bits.FLTSTAT = 0;
IFS5bits.PWM2IF = 0; //Clear Flag
}
void __attribute__ (( interrupt, shadow, no_auto_psv )) _PWM3Interrupt(void)
{
//ERRMotor();
//Lcd_Out(2,14,"FLT");
temp = 1;
PWMCON1bits.FLTSTAT = 0;
IFS6bits.PWM3IF = 0; //Clear Flag
}
|
если я правильно понимаю после возникновения прерывания по PWMx - нужно проверить кто его вызвал - FLTSTAT или CLSTAT или TRGSTAT ?
Последний раз редактировалось Dtolok; 03.03.2016 в 00:23.
|
|
|
|
05.03.2016, 06:03
|
|
Заблокирован
Регистрация: 13.06.2008
Сообщений: 248
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: MPLAB X IDE прерывания
Установил MpLab v6.1. Написал бы, но не знаю подойдёт ли. Загружаешь pic basic, и устанавливаешь. Возможно твой mplab и определит, и будет автоматически работать, в ide определял у меня сам.
Последний раз редактировалось _Master; 06.03.2016 в 04:42.
Причина: добавление
|
|
|
|
06.03.2016, 08:01
|
|
Заблокирован
Регистрация: 13.06.2008
Сообщений: 248
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: MPLAB X IDE прерывания
Все таки решил посоветовать вам установить две Mplab. Одна x, а другая ide выше 8.14. К ide загрузить новую версию Pic Basic там должен быть плугин и подключить к ide. А дальше писать проекты на бэйсике и легко конвертировать их в Mplab X.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:18.
|
|