Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 09.09.2014, 22:58   #26
andreichk
Junior Member
 
Регистрация: 07.08.2012
Сообщений: 16
Вес репутации: 100/25
andreichk will become famous soon enoughandreichk will become famous soon enough
По умолчанию Re: PIC32MZ

с инициализацией и прерываниями вроде разобрались.
Народ , подскажите как правильно ремапинг описывать. сделал так:

Код:
CFGCON = 0b0000000000000000;
INT2R = 0; //RPD9
U1RXR = 0b0011;  // RPD10 is U1RX
CFGCON = 0b0010000000000000;
вроде скомпилилось , но на U1RXR = 0b0011; выдаёт какое-то странное предупреждение: ../main.c:702:1: warning: large integer implicitly truncated to unsigned type . непонятно, чего он там обрезает. Подскажите битте, в чём загвоздка?
andreichk вне форума   Ответить с цитированием
Старый 09.09.2014, 23:26   #27
andreichk
Junior Member
 
Регистрация: 07.08.2012
Сообщений: 16
Вес репутации: 100/25
andreichk will become famous soon enoughandreichk will become famous soon enough
По умолчанию Re: PIC32MZ

Цитата:
Сообщение от andreichk Посмотреть сообщение
на U1RXR = 0b0011; выдаёт какое-то странное предупреждение: ../main.c:702:1: warning: large integer implicitly truncated to unsigned type . непонятно, чего он там обрезает.
ура, нашёл ошибку в коде и всё ненужное исчезло. вопрос закрыт
andreichk вне форума   Ответить с цитированием
Старый 10.09.2014, 10:23   #28
cauchy
Junior Member
 
Регистрация: 02.09.2014
Сообщений: 5
Вес репутации: 100/0
cauchy will become famous soon enoughcauchy will become famous soon enough
По умолчанию Re: PIC32MZ

Цитата:
Сообщение от andreichk Посмотреть сообщение
киньте ссылку если не влом
http://www.microchip.com/pagehandler...mony/home.html
Внезапно
cauchy вне форума   Ответить с цитированием
Старый 10.09.2014, 10:26   #29
andreichk
Junior Member
 
Регистрация: 07.08.2012
Сообщений: 16
Вес репутации: 100/25
andreichk will become famous soon enoughandreichk will become famous soon enough
По умолчанию Re: PIC32MZ

Цитата:
Сообщение от cauchy Посмотреть сообщение
это я видел, спасибо. скачал, попробовал поставить , а оно орёт , что у меня нет прав(только водительские) и ставицца не хотит....
andreichk вне форума   Ответить с цитированием
Старый 10.09.2014, 10:46   #30
cauchy
Junior Member
 
Регистрация: 02.09.2014
Сообщений: 5
Вес репутации: 100/0
cauchy will become famous soon enoughcauchy will become famous soon enough
По умолчанию Re: PIC32MZ

Цитата:
Сообщение от andreichk Посмотреть сообщение
это я видел, спасибо. скачал, попробовал поставить , а оно орёт , что у меня нет прав(только водительские) и ставицца не хотит....
Ну так может стоит попробовать запустить от имени администратора (для win)?
cauchy вне форума   Ответить с цитированием
Старый 10.09.2014, 11:07   #31
andreichk
Junior Member
 
Регистрация: 07.08.2012
Сообщений: 16
Вес репутации: 100/25
andreichk will become famous soon enoughandreichk will become famous soon enough
По умолчанию Re: PIC32MZ

и в самом деле, я и забыл, что я сам себе и царь и бог и АДмин....
andreichk вне форума   Ответить с цитированием
Старый 04.10.2014, 15:07   #32
andreichk
Junior Member
 
Регистрация: 07.08.2012
Сообщений: 16
Вес репутации: 100/25
andreichk will become famous soon enoughandreichk will become famous soon enough
По умолчанию Re: PIC32MZ

Наконец-то собрал ПП, воткнул модуль, блин даже прошил, а он - паразит на выходы мне ничего не выдаёт. Народ, подскажите плиз в чём затык ? или помогите просто настроить порты и макс. тактовую частоту.
вот конфигурация, кот. я вставил:


Код:
//------------------------КОНФИГУРАЦИЯ ПРОЦЕССОРА------------------------------------------
// PIC32MZ2048ECH100 Configuration Bit Settings
// 'C' source line config statements
#include <xc.h>

// DEVCFG3
// USERID = No Setting
#pragma config FMIIEN = OFF             // Ethernet RMII/MII Enable (RMII Enabled)
#pragma config FETHIO = ON              // Ethernet I/O Pin Select (Default Ethernet I/O)
#pragma config PGL1WAY = ON             // Permission Group Lock One Way Configuration (Allow only one reconfiguration)
#pragma config PMDL1WAY = ON            // Peripheral Module Disable Configuration (Allow only one reconfiguration)
#pragma config IOL1WAY = ON             // Peripheral Pin Select Configuration (Allow only one reconfiguration)
#pragma config FUSBIDIO = OFF           // USB USBID Selection (Controlled by Port Function)

// DEVCFG2
#pragma config FPLLIDIV = DIV_3          // System PLL Input Divider (3x Divider)
#pragma config FPLLRNG  = RANGE_8_16_MHZ // System PLL Input Range (8-16 MHz Input)
#pragma config FPLLICLK = PLL_POSC       // System PLL Input Clock Selection (POSC is input to the System PLL)
#pragma config FPLLMULT = MUL_50         // System PLL Multiplier (PLL Multiply by 50)
#pragma config FPLLODIV = DIV_2          // System PLL Output Divider (divided by 2)
#pragma config UPLLFSEL = FREQ_24MHZ     // USB PLL Input Frequency Selection (USB PLL input is 24 MHz)
#pragma config UPLLEN   = OFF            // USB PLL Enable (USB PLL is disabled)

// DEVCFG1
#pragma config FNOSC = SPLL             // Oscillator Selection Bits (SPLL))
#pragma config FSOSCEN = OFF            // Secondary Oscillator Enable (Disable SOSC)
#pragma config POSCMOD = EC             // Primary Oscillator Configuration (External Clock mode)
#pragma config OSCIOFNC = ON            // CLKO Output Signal Active on the OSCO Pin (Enabled)
#pragma config FCKSM = CSECME           // Clock Switching and Monitor Selection (Clock Switch Enabled, FSCM Enabled)
#pragma config IESO = OFF               // Internal/External Switch Over (Disabled)
#pragma config DMTINTV = WIN_127_128    // DMT Count Window Interval (Window/Interval value is 127/128 counter value)
#pragma config WDTPS = PS1048576        // Watchdog Timer Postscaler (1:1048576)
#pragma config WDTSPGM = STOP           // Watchdog Timer Stop During Flash Programming (WDT stops during Flash programming)
#pragma config WINDIS = NORMAL          // Watchdog Timer Window Mode (Watchdog Timer is in non-Window mode)
#pragma config FWDTEN = OFF             // Watchdog Timer Enable (WDT Disabled)
#pragma config FWDTWINSZ = WINSZ_25     // Watchdog Timer Window Size (Window size is 25%)
#pragma config FDMTEN = OFF             // Deadman Timer Enable (Deadman Timer is disabled)

/* DEVCFG0 */
#pragma config EJTAGBEN = NORMAL        // Normal EJTAG Functionality
#pragma config DBGPER = PG_ALL          // Allow CPU access to all permission groups in debug mode
#pragma config FSLEEP = OFF             // Flash is not power-down during device sleep mode
#pragma config FECCCON = OFF_UNLOCKED   // ECC enabled
#pragma config BOOTISA = MIPS32         // MIPS32 ISA selected
#pragma config TRCEN = OFF              // Trace function is OFF
#pragma config ICESEL = ICS_PGx2        // 2-wire debug is doen through PGx2 pins
#pragma config JTAGEN = OFF             // JTAG pins disabled
#pragma config DEBUG = ON               // Debug is ON

// DEVCP0
#pragma config CP = OFF                 // Code Protect (Protection Disabled)
а вот инит портов:

Код:
#define SYSFREQ (200000000L);////ВАРП-УСКОРИТЕЛЬ
  ADEVCFG0bits.JTAGEN=0; // запретить JTAG
  //AD1PCFG = 0b1111111111111111;// НЕ УДАЛЯТЬ !!! цифровой ПОРТ B(MX)
  ANSELB = 0b1111111111111111;// НЕ УДАЛЯТЬ !!! цифровой ПОРТ B(MZ)
   TRISB = 0b1111111111111111;// читаем данные с SPARTAN6 A,B на PORTB

  ANSELC = 0b1111111111111111;//
   TRISC = 0b0100000000000000;// порт RC13 на вых.,            RC14-частотомер
   PORTC = 0b0100000000000000;//

  ANSELD = 0b1111111111111111;//
   TRISD = 0b0000111100000000;// 8,9,10,11 вход, ост. на выход  RВ9-частотомер
   PORTD = 0b0000111100000000;//

  ANSELE = 0b1111111111111111;
   TRISE = 0b0000000000;        // порт RE на выход, данные на ТФТ-ПРОВОДНИК 10 bit
   PORTE = 0b0000000000;        //
    LATE = 0b0000000000;        // защёлка чтоб не прощёлкать

  ANSELF = 0b1111111111111111;//
   TRISF = 0b0000000000000101;// RF5,4,3,1,0 на вых.
   PORTF = 0b0000000000000101;//

  ANSELG = 0b1111111111111111;//
   TRISG = 0b0000000000000000;// порт RG 6,7,8,9  вых.
   PORTG = 0b0000000000000000;//
в отдельнм хедере

#define LED0 LATGbits.LATG12 // pin96
#define LED1 LATGbits.LATG14 // pin97

а в майне элементарно


LED0=OFF; LED1=OFF;
DelayUs(10000000);
LED0=ON; LED1=ON;
DelayUs(10000000);

и нифига.... тишина как в морге.... чего в супе не хватает?
Спасибо заранее..
andreichk вне форума   Ответить с цитированием
Старый 04.10.2014, 19:39   #33
andreichk
Junior Member
 
Регистрация: 07.08.2012
Сообщений: 16
Вес репутации: 100/25
andreichk will become famous soon enoughandreichk will become famous soon enough
По умолчанию Re: PIC32MZ

спасибо всем , я уже сам разобрался....
andreichk вне форума   Ответить с цитированием
Старый 13.10.2014, 00:38   #34
andreichk
Junior Member
 
Регистрация: 07.08.2012
Сообщений: 16
Вес репутации: 100/25
andreichk will become famous soon enoughandreichk will become famous soon enough
По умолчанию Re: PIC32MZ

Народ, скажите, этого достаточно, чтобы ремапинг сделать на PIC32MZ или ещё надо что-нить из даташита выковыривать?

Код:
  CFGCONbits.IOLOCK = 0;//Unlock Sequence
  CFGCONbits.PMDLOCK = 0;
   INT2R = 0; //to RPD9
   U1RXR = 3; //to RPD10
  CFGCONbits.IOLOCK = 1;//Lock Sequence
  CFGCONbits.PMDLOCK = 1;
andreichk вне форума   Ответить с цитированием
Старый 17.03.2015, 21:53   #35
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 501
Вес репутации: 838/56
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: PIC32MZ

PIC32MZ1024ECH064

Не могу получить прерывания INT0 external
через обработчик

void __ISR(_EXTERNAL_0_VECTOR, ipl3AUTO) _IntHandlerDrvINT0Instance0(void)
{
PLIB_INT_SourceFlagClear(INT_ID_0, INT_SOURCE_EXTERNAL_0);
PLIB_PORTS_Toggle(PORTS_ID_0, PORT_CHANNEL_E, 0x0001);
}

CN, Timer работают.
Вроде все прописал, нету.

PLIB_INT_ExternalRisingEdgeSelect(INT_ID_0, INT_EXTERNAL_INT_SOURCE0);

PLIB_INT_VectorPrioritySet(INT_ID_0, INT_EXTERNAL_INT_SOURCE0, INT_PRIORITY_LEVEL3);

PLIB_INT_VectorSubPrioritySet(INT_ID_0, INT_EXTERNAL_INT_SOURCE0, INT_SUBPRIORITY_LEVEL0);

PLIB_INT_SourceEnable(INT_ID_0, INT_EXTERNAL_INT_SOURCE0);

PLIB_INT_Enable(INT_ID_0);

Подкажте плиз какие в этом мк тонкости.
Vint вне форума   Ответить с цитированием
Старый 17.03.2015, 22:05   #36
Venom
Senior Member
 
Регистрация: 19.05.2009
Сообщений: 319
Вес репутации: 127/39
Venom will become famous soon enoughVenom will become famous soon enough
По умолчанию Re: PIC32MZ

Проверьте, что прочая периферия на этой ноге отключена. Например, PMP.
Venom вне форума   Ответить с цитированием
Старый 18.03.2015, 09:20   #37
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,125
Вес репутации: 2885/103
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Re: PIC32MZ

Значение порта, где находится этот внешний INT0, нужно предварительно считать. Неважно куда, сразу после PLIB_INT_Enable(INT_ID_0);
AleksBak вне форума   Ответить с цитированием
Старый 18.03.2015, 09:39   #38
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,125
Вес репутации: 2885/103
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Re: PIC32MZ

Еще - вроде ремаппинг тут тоже нужен (для этого INT_EXTERNAL_INT_SOURCE0)
AleksBak вне форума   Ответить с цитированием
Старый 19.03.2015, 10:09   #39
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 501
Вес репутации: 838/56
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: PIC32MZ

Я и начинал с INT0, т.к. вроде его нет в таблице
для ремапинга, а потом уже проверить инты с ремапингом.
Но INT0 я так и неполучаю.

Ремапнул INT1, в надежде, что он откликнется на просьбу
трудящихся. Но "ноль-по-фазе"!

Не нашел информацию про то, куда можно ремапить
пины. Или любой на любой из списка параметра функции
PLIB_PORTS_RemapInput(.....) ?
Vint вне форума   Ответить с цитированием
Старый 19.03.2015, 10:21   #40
Venom
Senior Member
 
Регистрация: 19.05.2009
Сообщений: 319
Вес репутации: 127/39
Venom will become famous soon enoughVenom will become famous soon enough
По умолчанию Re: PIC32MZ

пины ремапятся только на определенные ноги.
Т.е. группа функций ремапятся только на определенную группу ног.
В pic24 можно было какую угодно функцию на какую угодно ногу, а тут - нет.
Venom вне форума   Ответить с цитированием
Старый 19.03.2015, 11:07   #41
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 501
Вес репутации: 838/56
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: PIC32MZ

Т.е. из таблицы TABLE 12-1: INPUT PIN SELECTION (DS60001191),
например, пины из группы INT1...OCFA могут мапиться на любой
из группы RPD1...RPE8 ?
Vint вне форума   Ответить с цитированием
Старый 19.03.2015, 11:14   #42
Venom
Senior Member
 
Регистрация: 19.05.2009
Сообщений: 319
Вес репутации: 127/39
Venom will become famous soon enoughVenom will become famous soon enough
По умолчанию Re: PIC32MZ

Цитата:
Сообщение от Vint Посмотреть сообщение
Т.е. из таблицы TABLE 12-1: INPUT PIN SELECTION (DS60001191),
например, пины из группы INT1...OCFA могут мапиться на любой
из группы RPD1...RPE8 ?
Именно. Только эта группа и только на указанные в правой колонке ноги.
Только небольшая корректировка: INT1...REFCLKI3
И еще: переназначение ног должно выполняться чуть ли не самой первой инициализацией. И еще где-то встречал рекомендацию выключить перед этим прерывания
Код:
 asm volatile("di"); //disable interupts
После окончания все инициализации включите обратно
Код:
 asm volatile("ei"); //disable interupts
Как альтернатива - функции:
void __builtin_disable_interrupts(void)
void __builtin_enable_interrupts(void)
Venom вне форума   Ответить с цитированием
Старый 19.03.2015, 11:23   #43
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 501
Вес репутации: 838/56
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: PIC32MZ

Вот по Harmony_help:

// System Unlock
PLIB_DEVCON_SystemUnlock(INT_ID_0);
// Unlock PPS registers
PLIB_DEVCON_DeviceRegistersUnlock(INT_ID_0, INT1R);
// Remapping input function 'Input INT1' to the Remappable pin 'RPD1'
PLIB_PORTS_RemapInput(INT_ID_0, INPUT_FUNC_INT1, INPUT_PIN_RPD1);
// Lock PPS registers
PLIB_DEVCON_DeviceRegistersLock(INT_ID_0, INT1R);

PLIB_INT_ExternalRisingEdgeSelect(INT_ID_0, INT_EXTERNAL_INT_SOURCE1);
PLIB_INT_VectorPrioritySet(INT_ID_0, INT_EXTERNAL_INT_SOURCE1, INT_PRIORITY_LEVEL3);
PLIB_INT_VectorSubPrioritySet(INT_ID_0, INT_EXTERNAL_INT_SOURCE1, INT_SUBPRIORITY_LEVEL0);
PLIB_INT_SourceEnable(INT_ID_0, INT_EXTERNAL_INT_SOURCE1);
// Read PORT D
// bitStatus = PLIB_PORTS_PinGet(INT_ID_0, PORT_CHANNEL_D, PORTS_BIT_POS_1);
readData = PLIB_PORTS_Read(PORTS_ID_0, PORT_CHANNEL_D);
PLIB_INT_Enable(INT_ID_0);
readData = PLIB_PORTS_Read(PORTS_ID_0, PORT_CHANNEL_D);

/* Enable Global Interrupts */
SYS_INT_Enable();

ноль-по-фазе.
Vint вне форума   Ответить с цитированием
Старый 19.03.2015, 11:35   #44
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,125
Вес репутации: 2885/103
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Re: PIC32MZ

Цитата:
Сообщение от Vint Посмотреть сообщение
Вот по Harmony_help:

// System Unlock
PLIB_DEVCON_SystemUnlock(INT_ID_0);
// Unlock PPS registers
PLIB_DEVCON_DeviceRegistersUnlock(INT_ID_0, INT1R);
// Remapping input function 'Input INT1' to the Remappable pin 'RPD1'
PLIB_PORTS_RemapInput(INT_ID_0, INPUT_FUNC_INT1, INPUT_PIN_RPD1);
// Lock PPS registers
PLIB_DEVCON_DeviceRegistersLock(INT_ID_0, INT1R);

PLIB_INT_ExternalRisingEdgeSelect(INT_ID_0, INT_EXTERNAL_INT_SOURCE1);
PLIB_INT_VectorPrioritySet(INT_ID_0, INT_EXTERNAL_INT_SOURCE1, INT_PRIORITY_LEVEL3);
PLIB_INT_VectorSubPrioritySet(INT_ID_0, INT_EXTERNAL_INT_SOURCE1, INT_SUBPRIORITY_LEVEL0);
PLIB_INT_SourceEnable(INT_ID_0, INT_EXTERNAL_INT_SOURCE1);
// Read PORT D
// bitStatus = PLIB_PORTS_PinGet(INT_ID_0, PORT_CHANNEL_D, PORTS_BIT_POS_1);
readData = PLIB_PORTS_Read(PORTS_ID_0, PORT_CHANNEL_D);
PLIB_INT_Enable(INT_ID_0);
readData = PLIB_PORTS_Read(PORTS_ID_0, PORT_CHANNEL_D);

/* Enable Global Interrupts */
SYS_INT_Enable();

ноль-по-фазе.
Плохо. Но и не такое побеждали (я вот почти неделю с багом в UART1 PIC32MX250FJ128D борюсь будь он неладен, уже с ума сойти можно, но все равно надо "грызть" до последнего) В конфигурации контроллера указывается еще (у MX-ов):
Код:
IOL1WAY = OFF   // Peripheral Pin Select Configuration: Allow multiple reconfigurations
но тут пофигу - даже с OFF один раз можно проремапить. Попробуйте сделать вообще ON. Тут (у этого MZ) может еще в конфигурации какие-то своеобразные настройки. Новые ввели может. Посмотрите.
AleksBak вне форума   Ответить с цитированием
Старый 19.03.2015, 11:38   #45
Venom
Senior Member
 
Регистрация: 19.05.2009
Сообщений: 319
Вес репутации: 127/39
Venom will become famous soon enoughVenom will become famous soon enough
По умолчанию Re: PIC32MZ

Код:
    asm volatile("di"); //disable interupts
    CFGCONbits.IOLOCK=0; //enaled remapping
    RPC1R=0xB; //OC3

    RPF1R=0x1; //U3TX from pic32
    U3RXR=0x4; //U3RX to pic32

    CFGCONbits.IOLOCK=1;
Мой работоспособный код.
Попробуйте вручную по аналогии сделать.
Venom вне форума   Ответить с цитированием
Старый 20.03.2015, 13:18   #46
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 501
Вес репутации: 838/56
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: PIC32MZ

Еще непонятка:
на пин-вход RD1 включил CNPU резистор.
Но напруга на нем 2в. Что-то его подсаживает.
Вся периф. на нем вроде отключена.

На RB2 3.3в в таком варианте и CN_INT на нем
нормально работает.
Vint вне форума   Ответить с цитированием
Старый 20.03.2015, 15:21   #47
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 501
Вес репутации: 838/56
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: PIC32MZ

Что-то с ремапом. Пины порта
в опросе видны и читаются.
Vint вне форума   Ответить с цитированием
Старый 20.03.2015, 15:28   #48
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 501
Вес репутации: 838/56
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: PIC32MZ

Все, буду запрашивать Mchp штаб.
Тратить недели на их секреты
достало. Если секреты, так примеры
на все давали бы. В МХ-е все без проблем
делается.
Vint вне форума   Ответить с цитированием
Старый 20.03.2015, 15:31   #49
geotox
Junior Member
 
Регистрация: 19.03.2015
Сообщений: 13
Вес репутации: 100/15
geotox will become famous soon enoughgeotox will become famous soon enough
По умолчанию Re: PIC32MZ

Ребят, такая проблема... Пытаюсь подключить по спи 2 МЗ (Мастер -> Слейв). Мастер посылет инфу нормально (проверяю осцилографом), а вот слейв принимает рандомные байты и ~каждый 10 раз получает, что надо.
Код:
void initSPI1()
{
    SYSKEY = 0xAA996655; // Unlocking sequence
    SYSKEY = 0x556699AA;
    PB2DIVbits.PBDIV = 0b000001;
    PB2DIVbits.ON = 1;
    PB7DIVbits.PBDIV = 0b000000;
    PB7DIVbits.ON = 1;
    SYSKEY = 0x33333333; // Locking sequence
    //PPS
    CFGCONbits.IOLOCK = 0;
    RPE5R = 0b0101; //SDO1 -> RE5
    SDI1R = 0b1100; //SDI1 -> RG1
    CFGCONbits.IOLOCK = 1;

    SPI1CONbits.ON = 0; //disables SPI module
    SPI1BUF = 0; //clears SPI1 buffer
    SPI1BRG = 1000;
    SPI1CONbits.MCLKSEL = 0; //PBCLK2
    SPI1CONbits.FRMEN = 0; //not in framed mode
    SPI1CONbits.ENHBUF = 0; //not in enhanced buffer mode
    SPI1CONbits.SIDL = 0; //continue operation in idle mode
    SPI1CONbits.DISSDO = 0; //SDO1 used by the module
    SPI1CON2bits.AUDEN = 0; //not in audio mode
    SPI1CONbits.MODE32 = 0; //8 bit communication
    SPI1CONbits.MODE16 = 0; //8 bit communication
    SPI1CONbits.CKE = 0;
    SPI1CONbits.SMP = 0;
    SPI1CONbits.CKP = 0;
    if (RX_MODE)
    {
        SPI1CONbits.SSEN = 0; //SS1 used for slave mode
        SPI1CONbits.MSTEN = 0; //module works in Slave mode
    } else
    {
        SPI1CONbits.SSEN = 0; //SS1 used for slave mode
        SPI1CONbits.MSTEN = 1; //module works in Master mode
    }
    SPI1CONbits.DISSDI = 0; //SDI1 used by the module
    IFS3bits.SPI1RXIF = 0; //clears interrupt flag
    IPC27bits.SPI1RXIP = 5; //interrupt priority 4
    IPC27bits.SPI1RXIS = 3; //interrupt subpriority 3
    IEC3bits.SPI1RXIE = 1; //enables interrupt
    IFS3bits.SPI1EIF = 0; //clears interrupt flag
    IPC27bits.SPI1EIP = 4; //interrupt priority 4
    IPC27bits.SPI1EIS = 2; //interrupt subpriority 2
    IEC3bits.SPI1EIE = 1; //enables the interrupt
    SPI1CONbits.ON = 1; //enables the module
}
Вот мой код настройки спи. Заранее спасибо!
geotox вне форума   Ответить с цитированием
Старый 20.03.2015, 16:42   #50
Venom
Senior Member
 
Регистрация: 19.05.2009
Сообщений: 319
Вес репутации: 127/39
Venom will become famous soon enoughVenom will become famous soon enough
По умолчанию Re: PIC32MZ

Посмотри фронты. Не исключаю, что проблема в железе, например, непропай ноги у слейва. Или у него проблемы с питанием.
Venom вне форума   Ответить с цитированием
Ответ

Метки
dma, interrupt, pic32mz, spi, uart


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
появились датащиты на PIC32MZ EC Алексей Продукция MICROCHIP 154 16.03.2015 10:43


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


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