我将SC16IS750 spi-2-uart网桥连接到Raspberry Pi 2,以增加uart端口的数量。该产品是Sparkfun(https://www.sparkfun.com/products/9981)使用SC16IS750芯片(http://www.nxp.com/documents/data_sheet/SC16IS740_750_760.pdf)制造的分线板。我使用Mike McCauley的BCM2835库来访问SPI。
问题是,无论我尝试阅读哪个寄存器,我总是会回到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);
rx [0]和rx [1]返回0xff。我试图读取哪个寄存器并不重要,结果是一样的。
分线板已经将复位引脚接地。我将CS引脚连接到SSEL1,CLK连接到GPIO11,SI连接到GPIO10,SO连接到GPIO9,SPI / I2C连接到地。我尝试了另一种芯片,同样的反应。 SPI工作正常,因为我也成功地使用它与另一个外设。
关于我接下来要尝试什么的任何想法?
答案 0 :(得分:1)
原来问题是时钟分频器。将SPI时钟分频器设置为256以上
$.ajax({
type: "GET",
url: "https://api.imgur.com/3/album/Cfy6A/images",
dataType: "text",
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Client-ID <client-id>');
},
success: function(data) {
var json = $.parseJSON(data);
console.log(json);
}
});
解决了这个问题。