Перейти к содержанию
    

schaulin

Участник*
  • Постов

    11
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о schaulin

  • День рождения 27.04.1981

Контакты

  • Сайт
    Array
  • Yahoo
    Array

Информация

  • Город
    Array
  1. 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:
  2. LPC22xx SPI

    всем привет я нашёл ошибку всё дело было в SSEL сигнале несмотря на то что в датешите стоит что его можно непреминять
  3. 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
  4. LPC2220 SPI

    это я уже просто все варианты проходил... вот линк к описанию lpc2220 http://www.semiconductors.philips.com/acro...h=%22um10114%22 попробую сейчас в обои стороны штобы хоть каккойнибуть сигнал на осцилоскопе увидеть
  5. LPC2220 SPI

    што у меня тут не так???? 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 приклеплен
  6. LPC2220 SPI

    да нет читать не лень уже целую неделю читаю голова уже дымит посмотри пожалуйста в поиске lpc22xx spi может ты уже знаком с этой проблемойроблемой
  7. LPC2220 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??? помогите кто может
  8. LPC22xx SPI

    пробывал ещё следующий код добавлять ... ефект тот-же SSPCR0 |= 0x0007; // 8 bit SSPCPSR |= 0x02; // SSPCR1 |= 0x02; // SSE = 1, master Только вот я никак непойму зачем вообще SSP настраивать если я хочу только SPI преминять
  9. LPC22xx 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 то никаких сигналов снаружи микроконтроллера неувидиш
  10. LPC22xx SPI

    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
  11. LPC22xx SPI

    Пытаюсь настроить передачу через 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); }
×
×
  • Создать...