|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
郁悶,誰(shuí)用過(guò)max3110(SPI擴(kuò)串口的芯片),怎么沒(méi)輸出? |
| 作者:boxman1982 欄目:單片機(jī) |
我用的是AT MEGA128,通過(guò)SPI連接MAX3110來(lái)擴(kuò)串口,具體原理圖如下: 但是我通過(guò)SPI向MAX3110來(lái)發(fā)送數(shù)據(jù),在MEGA128的MISO腳卻無(wú)輸入信號(hào),一直為低電平,單步調(diào)試察看也為0x00,不是應(yīng)該如果在MOSI有輸出,那么在MISO就會(huì)有信號(hào)輸入MEGA128么,MAX3110手冊(cè)上說(shuō),只要在DIN有輸入,那么在DOUT就會(huì)有輸出,不管內(nèi)部如何設(shè)置。 我一直搞不明白怎么MAX3110工作不正常呢。那位高手給指點(diǎn)指點(diǎn)!不勝感激! 具體程序如下: void SPI_Init(void) { uCHAR TEMP; DDRB |= (1<<DDB0)|(1<<DDB1)|(1<<DDB2); //MISO=input and MOSI,SCK,SS = OUTPUT PORTB |= (1<<PORTB3); //MISO上拉電阻有效 PORTB &=~(1<<PORTB0); //ss=0 //SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 64分頻 Interrupt Enable // 1 1 0 1 0 0 1 0 SPCR = 0xD2; SPSR = 0x00; TEMP = SPSR; TEMP = SPDR; //清空SPI,和中斷標(biāo)志,使SPI空閑 DDRE &=~(1<<DDE7); PORTE |=1<<PORTE7; EICRB=0x00; EIMSK=1<<INT7; } void SPI_PutCHAR(CHAR c) { if(!SPI_Control) { PORTB &=~(1<<PORTB0); //ss=0 SPDR = c; SPI_Control=1; } } void Max3110_Init(void) { Max_SendBuffer[0]=0xCC; Max_SendBuffer[1]=0x4A; Max_SendRail=2; Max_SendHead=1; SPI_PutCHAR(Max_SendBuffer[0]); } #pragma interrupt_handler ISR_Spi_Rx:iv_SPI_STC void ISR_Spi_Rx(void) { uCHAR TEMP; PORTB &=~(1<<PORTB0); //ss=0 TEMP = SPDR; //從ISP口讀出收到的字節(jié) //////////////////////////////////////////// Max_RecBuffer[Max_RecRail]=TEMP; Max_RecRail=(Max_RecRail+1) % MAX_BUFFERSIZE; if(Max_SendHead!=Max_SendRail) { TEMP=Max_SendBuffer[Max_SendHead]; Max_SendHead=(Max_SendHead+1) % MAX_BUFFERSIZE; SPDR= TEMP; } else { SPI_Control=0; //send over } } main() { uCHAR i; uCHAR m; SPI_Control=0; SPI_Init(); MAX3110_Init(); while(SPI_Control); //wait the init of MAX3110 while(1) { //PORTA=0x0F; SPI_Control=0; if(!SPI_Control) SPI_Send_Data(0x55); i++; i--; } }
|
| 2樓: | >>參與討論 |
| 作者: chuandaoxy 于 2006/3/14 23:16:00 發(fā)布:
留個(gè)郵箱給電資料,幫我找找at45dbde |
|
| 3樓: | >>參與討論 |
| 作者: chuandaoxy 于 2006/3/14 23:17:00 發(fā)布:
meidaquan |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |