Автор |
Съобщение |
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 12:01 pm Мнения: 2202
|
Re: Ядове с MPLAB X
Въпрос отново! Опитвам да подкарам един ЕЕПРОМ(25AA02E48). Аз имам работеща платка със същата памер и друг контролер! Поставил съм pull-up на CS, WP и HOLD(WP и HOLD са статично към Vcc без управление). Подавам правилните команди към ЕЕПРОМ-а(това го виждам с логическия), но отсреща няма никакъв респонд. Възможно ли е друг някакъв интерфейс да е останал закачен за въпросния пин и това да ми прави проблемите(PIC32MX150F128B)? Когато поставя pull-down м/у SDI(uC) и SDO(ЕЕПРОМ), нивото застава в 0 и не се променя. Иначе стои в 1. Иначе ето настройките на SPI: Предполагам правилно съм настроил SPI?! Подмених интегралката с нова - същата работа. Някакви идеи?
_________________www.elkran.com
|
Пет Юни 09, 2017 9:22 am |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 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 |
|
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 12:01 pm Мнения: 2202
|
Re: Ядове с MPLAB X
10x! Още не съм му схванал всичките тънкости - кога трябва да отключвам системата примерно. И това първоначално четене на буфера... Ще му свикна, докато преправя цялата програма... ПП: Както казах преди, контролерът се представя добре, но трябва да се работи върху средата. Създава доста проблеми и се чупи!
_________________www.elkran.com
|
Пет Юни 09, 2017 12:05 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: Ядове с MPLAB X
ами пиновете се ремапват с макросите от "SystemUnlock" - виж в PDF ( и вземи го прочети пидиефа поне на диагонал
_________________ main[-1u]={1};
|
Пет Юни 09, 2017 2:03 pm |
|
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 1:21 am Мнения: 10614 Местоположение: София
|
Re: Ядове с MPLAB X
Това само за 32 битовите MCU или за всички? Наскоро преправях някакъв проект за 8 битов микроконтролер. Едно от нещата които ме впечатли в текущата към момента развойна среда е, че не се счупи нито веднъж. Нещо което не мога да кажа за развойните среди за Силабс...
|
Пет Юни 09, 2017 2:15 pm |
|
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 12:01 pm Мнения: 2202
|
Re: Ядове с MPLAB X
Само за 32 битовите! При малките съм нямал проблеми до сега. Когато имаш по-сложен компилатор, е нормално да създава повече грижи и да има повече начини да се счупи. Всъщност, старият mplab беше още по-корав. Но разни благинки като autocomplete, графики и др. си имат цена. И работи много тромаво. Това ми е първият 32битов контролер и не мога да преценя. Много бавно зарежда програмата, но ако приемем, че скоростта на програмиране е константа(не съм сигурен, за което!), то е нормално да става по-бавно. Wizard, pdf-то го препрочетох бая пъти, но инфото ми идва доста! Препълни ми се буфера! Ще свикна, нека да поработя малко с него! И има и други неща, които изискват SystemUnlock()!
_________________www.elkran.com
|
Пет Юни 09, 2017 2:34 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: Ядове с MPLAB X
например WriteNVM()
_________________ main[-1u]={1};
|
Пет Юни 09, 2017 2:44 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: Ядове с MPLAB X
Само да се похваля Портнах eLua за PIC32 За сега е само за тестове и изпитания (Ram, Safe, скорост...)
_________________ main[-1u]={1};
|
Съб Юни 10, 2017 11:11 am |
|
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 12:01 pm Мнения: 2202
|
Re: Ядове с MPLAB X
Wizard, може да ставам досаден, но има ли някакво времево ограничение след извъшване на отключване/заключване на осцилатора? Когато настройвам интерфейсите си 1 по 1 и за всеки изпълнявам отделен цикъл отключване/заключване, не се получава. Когато обаче сложих всички ремапвания на пинове в 1 цикъл всичко е 6. Така че предполагам има някаъв таймаут, през който не може да се повтаря процедурата. Благодаря!
_________________www.elkran.com
|
Съб Юни 10, 2017 1:56 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: Ядове с MPLAB X
"говоря" по памет: SYSKEY е валиден до запис на грешен такъв - демек LOCK за някой периферии има за други няма времеви ограничения, просто тряя да си провериш в документацията на пик модела как реагира на SYSKEY инфо чети в: Oscillator switching sequence провери и конфигурационните думи дали има флагове за ремапинга
_________________ main[-1u]={1};
|
Съб Юни 10, 2017 2:56 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 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 |
|
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 12:01 pm Мнения: 2202
|
Re: Ядове с MPLAB X
10x!
_________________www.elkran.com
|
Нед Юни 11, 2017 3:43 pm |
|
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 12:01 pm Мнения: 2202
|
Re: Ядове с MPLAB X
Wizard, пак я закъсах! Гледай сега какво става! Имам 4 прекъсвания - 2 за UART и 2 таймера. При старт свичко работи нормално! Но в някакъв момент(не мога да разбера кога!) прекъсванията спират да работят. Мислех си, че може да е някакъв проблем с flow control-a на UART, но и прекъсванията на таймерите не реагират! Ето тази функция използвам за разрешаване на прекъсванията(разрешава multi-vector + прекъсвания): Някакви идеи защо ми спират прекъсванията? Трябва ли да проверявам регулярно дали са активни? При залинанието на самото прекъсване използвам AUTO! Това има ли някаква връзка? Благодаря!
_________________www.elkran.com
|
Пет Юни 16, 2017 8:00 am |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: Ядове с MPLAB X
незнам - пускай един дебъгер и виж какво става AUTO по принцип има значение колко регистри ще запазва контекса ако ползваш OS - отпред и отзад има SAVE / RESTORE CONTEXT
_________________ main[-1u]={1};
|
Пет Юни 16, 2017 12:41 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 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 |
|
|