2015-06-07 16 views
5

पर काम नहीं करता है मैं यूआरएल बंदरगाहों की संख्या बढ़ाने के लिए रास्पबेरी पीआई 2 में एससी 16IS750 स्पि-2-यूर्ट ब्रिज को जोड़ रहा हूं। यह उत्पाद SP16F750 चिप (http://www.nxp.com/documents/data_sheet/SC16IS740_750_760.pdf) का उपयोग करते हुए स्पार्कफुन (https://www.sparkfun.com/products/9981) द्वारा निर्मित ब्रेकआउट बोर्ड है। मैं एसपीआई तक पहुंचने के लिए माइक मैककॉली द्वारा बीसीएम 2835 लाइब्रेरी का उपयोग करता हूं।स्पार्कफ़ुन एससी 16IS750 रास्पबेरी पीआई

समस्या यह है कि, जो भी रजिस्टर मैं पढ़ने की कोशिश करता हूं, मैं हमेशा 0xff वापस प्राप्त करता हूं। उदाहरण के लिए,

uint8_t tx[2]; 
tx[0] = 0x07 << 3 | 0x80; // SPR register 
tx[1] = 0x00; 
uint8_t rx[2] = {0x00, 0x00}; 

// perform duplex write operation 
bcm2835_spi_transfernb(tx, rx, 2); 

आरएक्स [0] और आरएक्स [1] 0xff देता है। इससे कोई फर्क नहीं पड़ता कि मैं कौन सा रजिस्टर पढ़ने की कोशिश करता हूं, नतीजा वही है।

ब्रेकआउट बोर्ड पहले से ही रीसेट पिन को आधार देता है। मैं सीएस पिन को एसएसईएल 1, सीएलके से जीपीआईओ 11, एसआई से जीपीआईओ 10, एसपीआई जीपीआईओ 9, और एसपीआई/आई 2 सी से जमीन पर जोड़ता हूं। मैंने एक और चिप, एक ही प्रतिक्रिया के साथ कोशिश की। एसपीआई ठीक काम करता है क्योंकि मैं इसे अन्य परिधीय के साथ सफलतापूर्वक उपयोग करता हूं।

मुझे इस बारे में कोई विचार है कि मुझे आगे क्या करना चाहिए?

उत्तर

0

समस्या बाहर निकलता घड़ी घड़ी विभाजक है। एसपीआई घड़ी विभाजक को 256 और ऊपर

bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_256) 

समस्या का समाधान किया।

संबंधित मुद्दे