Отговори на тема  [ 93 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5, 6, 7  Следваща
Ядове с MPLAB X 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: Ядове с MPLAB X
Въпрос отново! Опитвам да подкарам един ЕЕПРОМ(25AA02E48). Аз имам работеща платка със същата памер и друг контролер! Поставил съм pull-up на CS, WP и HOLD(WP и HOLD са статично към Vcc без управление). Подавам правилните команди към ЕЕПРОМ-а(това го виждам с логическия), но отсреща няма никакъв респонд.
Код:
#define SPI2_SDI_TRIS TRISBbits.TRISB6
#define SPI2_SDI_PINREG SDI2R
#define SPI2_SDI_Init() {SPI2_SDI_TRIS=1;SPI2_SDI_PINREG=1;}

Възможно ли е друг някакъв интерфейс да е останал закачен за въпросния пин и това да ми прави проблемите(PIC32MX150F128B)? Когато поставя pull-down м/у SDI(uC) и SDO(ЕЕПРОМ), нивото застава в 0 и не се променя. Иначе стои в 1.
Иначе ето настройките на SPI:
Код:
    INIT_SPI2_IO();
    SPI2CONbits.ON=0;
    SPI2BUF=0;
    SPI2CONbits.ENHBUF=0;
    SPI2BRG=200;// тук предполагам може и по-малко, но за по-сигурно за сега е така
    SPI2STATbits.SPIROV=0;
    SPI2CONbits.MSTEN=1;
   
    SPI2CONbits.FRMEN=0;
    SPI2CONbits.MSSEN=0;
    SPI2CONbits.DISSDO=0;
    SPI2CONbits.SSEN=0;
    SPI2CONbits.CKE=0;
    SPI2CONbits.CKP=0;
   
    SPI2CONbits.DISSDI=0;
    SPI2CONbits.MODE16=0;
    SPI2CONbits.MODE32=0;
    SPI2CON2bits.AUDEN=0;
    SPI2CONbits.ON=1;

Предполагам правилно съм настроил SPI?!
Подмених интегралката с нова - същата работа. Някакви идеи?

_________________
www.elkran.com


Пет Юни 09, 2017 9:22 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Ядове с MPLAB X
/* FUCK ANALOG */
#define mINIT_ANALOG() \
ANSELA = 0; \
ANSELB = 0; \
ANSELC = 0; \
ANSELD = 0; \
ANSELE = 0; \
ANSELF = 0;
/**/

пример като за SD Card:

SystemUnlock();
RPD3R = 5;//Remap PIN
SDI1R = 11; //Remap PIN
SystemLock();
TRISBSET = _TRISB_TRISB4_MASK; // CD_TRIS = 1;
LATDSET = _LATD_LATD4_MASK; // CS_LAT = 1;
TRISDCLR = _TRISD_TRISD4_MASK; // CS_TRIS = 0;
SPI1CON = 0;
int i, dumy;
for (i = 0; i < 16; i++) dumy = SPI1BUF;
SPI1CONSET = _SPI1CON_MSTEN_MASK | _SPI1CON_CKE_MASK;
SPI1BRG = SPICalutateBRG(SYS_CLK_BUS_PERIPHERAL_1, MMC_FREQUENCY);

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


Пет Юни 09, 2017 11:02 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: Ядове с MPLAB X
10x! Още не съм му схванал всичките тънкости - кога трябва да отключвам системата примерно. И това първоначално четене на буфера... Ще му свикна, докато преправя цялата програма...
ПП: Както казах преди, контролерът се представя добре, но трябва да се работи върху средата. Създава доста проблеми и се чупи!

_________________
www.elkran.com


Пет Юни 09, 2017 12:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Ядове с MPLAB X
ами пиновете се ремапват с макросите от "SystemUnlock" - виж в PDF ( и вземи го прочети пидиефа поне на диагонал :)

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


Пет Юни 09, 2017 2:03 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10612
Местоположение: София
Мнение Re: Ядове с MPLAB X
stoyanoff написа:
...но трябва да се работи върху средата. Създава доста проблеми и се чупи!

Това само за 32 битовите MCU или за всички?
Наскоро преправях някакъв проект за 8 битов микроконтролер. Едно от нещата които ме впечатли в текущата към момента развойна среда е, че не се счупи нито веднъж. Нещо което не мога да кажа за развойните среди за Силабс...


Пет Юни 09, 2017 2:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: Ядове с MPLAB X
Само за 32 битовите! При малките съм нямал проблеми до сега. Когато имаш по-сложен компилатор, е нормално да създава повече грижи и да има повече начини да се счупи. Всъщност, старият mplab беше още по-корав. Но разни благинки като autocomplete, графики и др. си имат цена. И работи много тромаво. Това ми е първият 32битов контролер и не мога да преценя. Много бавно зарежда програмата, но ако приемем, че скоростта на програмиране е константа(не съм сигурен, за което!), то е нормално да става по-бавно.
Wizard, pdf-то го препрочетох бая пъти, но инфото ми идва доста! Препълни ми се буфера! Ще свикна, нека да поработя малко с него! И има и други неща, които изискват SystemUnlock()!

_________________
www.elkran.com


Пет Юни 09, 2017 2:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Ядове с MPLAB X
например WriteNVM()

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


Пет Юни 09, 2017 2:44 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Ядове с MPLAB X
Само да се похваля :)
Портнах eLua за PIC32
За сега е само за тестове и изпитания (Ram, Safe, скорост...)


Прикачени файлове:
eLua.jpg
eLua.jpg [ 820.08 KiB | Прегледано 3831 пъти ]

_________________
main[-1u]={1};
Съб Юни 10, 2017 11:11 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: Ядове с MPLAB X
Wizard, може да ставам досаден, но има ли някакво времево ограничение след извъшване на отключване/заключване на осцилатора? Когато настройвам интерфейсите си 1 по 1 и за всеки изпълнявам отделен цикъл отключване/заключване, не се получава. Когато обаче сложих всички ремапвания на пинове в 1 цикъл всичко е 6. Така че предполагам има някаъв таймаут, през който не може да се повтаря процедурата.
Благодаря!

_________________
www.elkran.com


Съб Юни 10, 2017 1:56 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Ядове с MPLAB X
"говоря" по памет: SYSKEY е валиден до запис на грешен такъв - демек LOCK
за някой периферии има за други няма времеви ограничения, просто тряя да си провериш в документацията на пик модела как реагира на SYSKEY
инфо чети в: Oscillator switching sequence
провери и конфигурационните думи дали има флагове за ремапинга

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


Съб Юни 10, 2017 2:56 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Ядове с MPLAB X
DEVCFG3/ADEVCFG3: DEVICE CONFIGURATION WORD 3

IOL1WAY: Peripheral Pin Select Configuration bit
1 = Allow only one reconfiguration
0 = Allow multiple reconfigurations

#pragma config IOL1WAY = ON

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


Нед Юни 11, 2017 12:09 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: Ядове с MPLAB X
10x!

_________________
www.elkran.com


Нед Юни 11, 2017 3:43 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: Ядове с MPLAB X
Wizard, пак я закъсах! Гледай сега какво става! Имам 4 прекъсвания - 2 за UART и 2 таймера. При старт свичко работи нормално! Но в някакъв момент(не мога да разбера кога!) прекъсванията спират да работят. Мислех си, че може да е някакъв проблем с flow control-a на UART, но и прекъсванията на таймерите не реагират! Ето тази функция използвам за разрешаване на прекъсванията(разрешава multi-vector + прекъсвания):
Код:
static inline __attribute__((always_inline)) void HardwareUseMultiVectoredInterrupts( void )
{
    __builtin_disable_interrupts();
    /* Enable multi-vector interrupts. */
    _CP0_BIS_CAUSE( 0x00800000U );
    INTCONSET = _INTCON_MVEC_MASK;
    __builtin_enable_interrupts();
}

Някакви идеи защо ми спират прекъсванията? Трябва ли да проверявам регулярно дали са активни? При залинанието на самото прекъсване използвам AUTO! Това има ли някаква връзка?
Благодаря!

_________________
www.elkran.com


Пет Юни 16, 2017 8:00 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Ядове с MPLAB X
незнам - пускай един дебъгер и виж какво става
AUTO по принцип има значение колко регистри ще запазва контекса
ако ползваш OS - отпред и отзад има SAVE / RESTORE CONTEXT

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


Пет Юни 16, 2017 12:41 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Ядове с MPLAB X
SRS: to be selected if (and only if) the priority of the interrupt is the one using the SRS ( Shadow Register Set )
SOFT: to be selected in case context saving is wanted and the SRS is not used.
AUTO: I suppose this is an automatic selection between SRS and SOFT.
OFF: when no context saving is wanted (the user has to write one then if needed).

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


Пет Юни 16, 2017 10:46 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 93 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5, 6, 7  Следваща

Кой е на линия

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


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

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