SPI做主机,只将MISO,MOSI,SCK三个脚选择为SPI功能脚,把SSEL选择为IO,用它做从机的CS控制线可以吗?我实验的结果好像不行,MOSI和SCK没有输出,NXP网站上的例程配置有误吗?<br /><br />LPC2xxx SPI master code example:<br /><br />static void SPI_Init(void)<br />{<br />VICVectAddr0 = (unsigned int) &SPI_Isr;<br />VICVectCntl0 = 0x2A; // Channel0 on Source#10 ... enabled<br />VICIntEnable |= 0x400; // 10th bit is the SPI<br />IODIR0 |= 0x00000080; // P0.7 defined as SS_DS1722<br />IOCLR0 = 0x00000080; // SS_DS1722 = 0<br />PINSEL0 |= 0x00001500; // configure SPI0 pins (except SSEL0)<br />S0SPCCR = 12; // SCK = 1 MHz, counter > 8 and even<br />S0SPCR = 0xA8; // CPHA=1, CPOL=0, master mode, MSB first, interrupt enabled<br />}<br /><br />static void DS1722_Write(unsigned char add, unsigned char val)<br />{<br />spiBuf[0] = add; // DS1722 address<br />spiBuf[1] = val;<br />msg = spiBuf;<br />count = 2; // nr of bytes<br />state = SPI_BUSY; // Status of driver<br />IOSET0 = 0x00000080; // SS_DS1722 = 1<br />S0SPDR = *msg; // sent first byte<br />while (state == SPI_BUSY) ; // wait for end of transfer<br />IOCLR0 = 0x00000080; // SS_DS1722 = 0<br />}<br /><br /><br />
|