schaulin
Участник*-
Постов
11 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о schaulin
- День рождения 27.04.1981
Контакты
-
Сайт
Array
-
Yahoo
Array
Информация
-
Город
Array
-
Хочу написать хелп по Иглу..
schaulin ответил Kuzmi4 тема в В помощь начинающему
Wort to PDF Jestj programmka nasiwaetza "FreePDF" .... pojavljatza printer freePDF i wsjo pered tem kak jejo sanositj nado sanesti "GostSkript". skachatj sdesj: http://sourceforge.net/project/downloading...use_mirror=mesh potom FreePDF. skachatj sdesj: http://freepdfxp.de/fpxpdownload.htm iswenjajusj sa latinj no podrugomu pisatj nemogu :crying: -
всем привет я нашёл ошибку всё дело было в SSEL сигнале несмотря на то что в датешите стоит что его можно непреминять
-
PINSEL2 bits Description Reset value 1:0 Reserved - 2 When 0, pins P1.31:26 are GPIO pins. When 1, P1.31:26 are used as Debug port. shtobi programirevatj PINSEL2 = 0x4
-
это я уже просто все варианты проходил... вот линк к описанию lpc2220 http://www.semiconductors.philips.com/acro...h=%22um10114%22 попробую сейчас в обои стороны штобы хоть каккойнибуть сигнал на осцилоскопе увидеть
-
што у меня тут не так???? void Spi_Init( void ) { u32 portConfig; u8 i, Dummy; IO0CLR |= (P0_4 | P0_6 | P0_17 | P0_19); IO0DIR |= (P0_4 | P0_6 | P0_17 | P0_19 | P0_20 | P0_7); IO0SET |= (P0_20 | P0_7); PINSEL0 = 0x00005100;// (P0.4 == SCK0, P0.6 == MOSI0); PINSEL1 = 0x00000288;// (P0.17 == SCK1, P0.19 == MOSI1); PINSEL2 = 0x0F614114; S0SPCCR |= 0x08; S1SPCCR |= 0x08; S0SPCR |= 0x0824; //(BitEnable = 1, CPHA = 0, CPOL = 0, MSTR = 1, LSBF/SPIE = 0, BITS = 8) S1SPCR |= 0x0824; //(BitEnable = 1, CPHA = 0, CPOL = 0, MSTR = 1, LSBF/SPIE = 0, BITS = 8) // PCONP = 0x00201BBE; //SSP on SPI1 of SSPCR0 = 0x0007; // 8 bit SSPCPSR = 0x02; // SSPCR1 = 0x02; // enable, master for ( i = 0; i < 8; i++ ) { Dummy = S0SPDR; /* clear the RxFIFO */ Dummy = S1SPDR; /* clear the RxFIFO */ Dummy = SSPDR; /* clear the RxFIFO */ } return; } int write_to_spi(void) { u32 i = 0; u32 Dummy; u8 *addr_of_data = ADDR_OF_NETLIST1; while( ((IO0PIN & DONE1) == 0) && (i++ < (SPACE_SIZE_XC4VLX100 + 100)) ) //hardware { S0SPDR = *addr_of_data++; while(!(S0SPSR & 0x80));; } if(i >= (SPACE_SIZE_XC4VLX100 + 100) ) //+100 space for done { return(1); } else { return(0); } } datasheet приклеплен
-
да нет читать не лень уже целую неделю читаю голова уже дымит посмотри пожалуйста в поиске lpc22xx spi может ты уже знаком с этой проблемойроблемой
-
Пытаюсь вписать в регистры S0SPCR |= 0x0824; //(BitEnable = 1, CPHA = 0, CPOL = 0, MSTR = 1, LSBF/SPIE = 0, BITS = 8) S1SPCR |= 0x0824; //(BitEnable = 1, CPHA = 0, CPOL = 0, MSTR = 1, LSBF/SPIE = 0, BITS = 8) а вписывается только 0х0020 и ещё /*1*/ while(1) /*2*/ { /*3*/ /*4*/ S1SPDR = *addr_of_data++; /*5*/ /*6*/ while(!(S1SPSR & 0x80)); } если постояно пророверять регистр S1SPSR в строчке /*4*/ то там всегда стоит 0х80 хотя после while(!(S1SPSR & 0x80)); должно стоять 0х00??? помогите кто может
-
пробывал ещё следующий код добавлять ... ефект тот-же SSPCR0 |= 0x0007; // 8 bit SSPCPSR |= 0x02; // SSPCR1 |= 0x02; // SSE = 1, master Только вот я никак непойму зачем вообще SSP настраивать если я хочу только SPI преминять
-
Я конечно извиняюсь за недоразумения и попытаюсь разъеснить мою проблему ещё раз. мой микроконтроллер называется lpc2220 и я провожу следующие операции. 1. я ставлю P0.4, P0.6, P0.17, P0.19 (SCK0, MOSI0, SCK1, MOSI1) на 0 IO0CLR |= (P0.4 | P0.6 | P0.17 | P0.19); 2. я ставлю эти же пины как "output" IO0DIR |= (P0.4 | P0.6 | P0.17 | P0.19); 3. PINSEL0/1 PINSEL0 |= 0x00001100 (P0.4 == SCK0, P0.6 == MOSI0); PINSEL1 |= 0x00000088 (P0.17 == SCK1, P0.19 == MOSI1); 4. Clock Counter = 8 SPCCR0 |= 0x08; SPCCR1 |= 0x08; 5 SPCR S0SPCR |= 0x0824; (BitEnable = 1, CPHA = 0, CPOL = 0, MSTR = 1, LSBF/SPIE = 0, BITS = 8) S1SPCR |= 0x0824; (BitEnable = 1, CPHA = 0, CPOL = 0, MSTR = 1, LSBF/SPIE = 0, BITS = 8) 6. потом я питаюсь отослать даты с помощу следующего кода int SPI_write (void) { unsigned char result; SPDR = data; // send next SPI channel 0 data while (!(SPSR & 0x80)) ; // wait for transfer completed return (0); } 7. ПРОБЛЕМА Если смотреть на регистры то всё идёт нормально но если подсоединить осцилоскоп то из чипа не одного сигнала невыходит я переделал код для SPI1 и настроил SSP как SPI ... всё работает нормально как и надо а вот если без SSP то никаких сигналов снаружи микроконтроллера неувидиш
-
Unlike earlier Philips ARM devices, LPC2210/2220 configured as a SPI0/1 master does not need an external pull-up on the SSEL0/1 pin in order to perform. LPC2210/2220 based SPI master can use the pin hosting SSEL0/1 function for a non-SPI purpose, too. For example, pin providing the SSEL0 function can be configured as an output digital GPIO pin and used to select one of the SPI0 slaves. This is usually the case with a SPI system is designed around a single master device
-
Пытаюсь настроить передачу через SPI. Реакция нулевая... void SPI_Init(void) { PINSEL1 |= 0x88; // configure SPI1 pins SPCCR = 0x08; /* Clock Counter = 8 */ SPCR = 0x08A0; /* SPIE and MSTR enable, transfer with 8 bits */ } int SPI_write (void) { unsigned char result; SPDR = data; // send next SPI channel 0 data while (!(SPSR & 0x80)) ; // wait for transfer completed return (0); }