Отговори на тема  [ 2 мнения ] 
pic32 малко помощ 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Мар 01, 2010 7:12 pm
Мнения: 65
Мнение pic32 малко помощ
Здравейте,
разучавам pic32 и днес зациклих.
Опитвам се да направя програмка, която да обработва 2 прекъсвания - INT0 и Interupt On Change на PORTC.
Говоря за PIC32MX220F032D.
В обработване на прекъсването паля диодче.
Ето кода, да не обяснявам повече, мисля че е ясен.
Проблема е че което и от двете прекъсвания да симулирам, забива.
Ако съм разрешил само едното или само другото, работи.
Ползвам компилатора на Mikroe.
Всякакви съвети са добре дошли.

Код:
#include <stdint.h>

uint32_t temp32 = 0;

void main() {
 
  JTAGEN_bit = 0;

  TRISA = 0;
  LATA = 0;
 

 
  DisableInterrupts();
 
  // ON CHANGE PORTC
  ANSELC  = 0x0000;
  TRISC.TRISC7 = 1;
  CNCONC.B15 = 1;
  CNCONC.B3 = 1;

  CNPUC  = 0x0000;
  CNPUC.CNPUC7 = 1;
  CNPDC = 0x0000;
 
  temp32 =  PORTC;
 
  IPC8.CNIP0 = 0;
  IPC8.CNIP1 = 1;
  IPC8.CNIP2 = 1;
 
  IPC8.CNIS0 = 0;
  IPC8.CNIS1 = 0;
 
  IFS1.CNCIF = 0;
  CNENC.CNIEC7 = 1;
 
  IEC1.CNCIE = 1;
 
  // INT0
  ANSELB = 0x0000;
  CNPDB = 0x0000;

  CNPUB  = 0x0000;
  CNPUB.CNPUB7 = 1;

  ODCB = 0x0000;
  TRISB = 0;
  TRISB.TRISB7 = 1;
  LATB = 0;
 
  INTCON.INT0EP = 0;

  IPC0.INT0IP0 = 1;
  IPC0.INT0IP1 = 1;
  IPC0.INT0IP2 = 1;
 
  IPC0.INT0IS0 = 0;
  IPC0.INT0IS1 = 0;
 
  IFS0.INT0IF = 0;
  IEC0.INT0IE = 1;


  // enable all
  EnableInterrupts();


  while(1) {
    //LATA.B10 = ~PORTA.B10;       // LED2
    LATB.B15 = ~PORTB.B15;       // LED1

    Delay_ms(500);
  }
}


void OnINT0() iv IVT_EXTERNAL_0 ilevel 7 ics ICS_SOFT {
   
    IEC0.INT0IE = 0;

    LATA.B10 = ~PORTA.B10;
    IFS0.INT0IF = 0;

    IEC0.INT0IE = 1;
}

void OnChangePortC() iv IVT_CHANGE_NOTICE ilevel 6 ics ICS_SOFT {

    IEC1.CNCIE = 0;

    LATA.B10 = ~PORTA.B10;

    temp32 =  PORTC;
    IFS1.CNCIF = 0;

    IEC1.CNCIE = 1;

}


Сря Яну 18, 2017 7:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: pic32 малко помощ
Вземи си качи майкрочипската среда....

_________________
main[-1u]={1};


Сря Яну 18, 2017 7:48 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 2 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 7 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни