【问题标题】:Sparkfun SC16IS750 does not work on Raspberry PiSparkfun SC16IS750 不适用于 Raspberry Pi
【发布时间】:2015-08-22 07:11:32
【问题描述】:

我将 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 工作正常,因为我也成功地将它与另一个外围设备一起使用。

知道接下来我应该尝试什么吗?

【问题讨论】:

    标签: c embedded raspberry-pi spi raspberry-pi2


    【解决方案1】:

    原来问题出在时钟分频器上。将 SPI 时钟分频器设置为 256 及以上

    bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_256)
    

    解决了问题。

    【讨论】:

    • 一切正常吗?我正在为我考虑相同的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    相关资源
    最近更新 更多