برای راه اندازی SPI1 درLPC1768 نیاز به یک مثال ساده دارم
مشکل اینجاست که رجیسترهای SPDR و SPSR را چطور برای SPI1 استفاده کنم
من به این ترتیب برنامه را شروع کرده ام :
ولی برای SPDR که در SSP1 ,وجود ندارد و باید SPI->SPDR بنویسم . این چطور می فهمد که الان دیتای SPI0 یا SPI1 است ؟؟
مشکل اینجاست که رجیسترهای SPDR و SPSR را چطور برای SPI1 استفاده کنم
من به این ترتیب برنامه را شروع کرده ام :
کد:
LPC_SC->PCONP = (LPC_SC->PCONP & 0xEFEFF7DE) | (1UL<<10); /* Enable peripheral clock for SSP1 (default is enabled) */ LPC_SC->PCLKSEL0 &= ~(3<<20); LPC_SC->PCLKSEL0 |= (1<<20); LPC_SC->PCLKSEL0 |= (2<<12); // ssel1 LPC_SC->PCLKSEL0 |= (2<<14); // sck1 LPC_SC->PCLKSEL0 |= (2<<16); // miso11 LPC_SC->PCLKSEL0 |= (2<<18); // mosi11 // LPC_SC->PCONP |= (1 << 10); //enable spi1 LPC_SSP1->CR0 |= 3<<6; //clock phase LPC_SSP1->CR0 |= 7<<0; // 8 bits LPC_SSP1->CR1 |= 1<<1; //enable SSP // LPC_SSP1->CR0 = 0x0007; /* binary: 00000000_00001111 */ // LPC_SSP1->CR1 = 0x00; /* binary: 00000000 */ LPC_SSP1->CPSR = 0x22; /* decimal 2 sck */ LPC_SSP1->IMSC = 0x00; /* binary: 00000000 intrupt*/ LPC_SSP1->DMACR = 0x0000; /* binary: 00000000_00000000 dma*/
دیدگاه