万博网页版登陆页派论坛

12
返回列表 发新帖

SPI驱动彩屏成功

tianyj  楼主| 发表于 2013-3-28 22:03:17 | 显示全部楼层
为了使程序跑快些,我的SPI只发数据不接收,针对SPI发送函数我做了些改动:
// Writes (and reads) a single byte to SPI
uint8_t bcm2835_spi_transfer(uint8_t value)
{
    volatile uint32_t* paddr = spi0 + BCM2835_SPI0_CS/4;
    volatile uint32_t* fifo = spi0 + BCM2835_SPI0_FIFO/4;

    // This is Polled transfer as per section 10.6.1
    // BUG ALERT: what happens if we get interupted in this section, and someone else
    // accesses a different peripheral?
    // Clear TX and RX fifos
    bcm2835_peri_set_bits(paddr, BCM2835_SPI0_CS_CLEAR, BCM2835_SPI0_CS_CLEAR);

    // Set TA = 1
    //bcm2835_peri_set_bits(paddr, BCM2835_SPI0_CS_TA, BCM2835_SPI0_CS_TA);

    // Maybe wait for TXD
    while (!(bcm2835_peri_read(paddr) & BCM2835_SPI0_CS_TXD));
        //delayMicroseconds(1);

    // Write to FIFO, no barrier
    bcm2835_peri_write_nb(fifo, value);

    // Wait for DONE to be set
    while (!(bcm2835_peri_read_nb(paddr) & BCM2835_SPI0_CS_DONE));
        //delayMicroseconds(1);

    // Read any byte that was sent back by the slave while we sere sending to it
    //uint32_t ret = bcm2835_peri_read_nb(fifo);

    // Set TA = 0, and also set the barrier
    //bcm2835_peri_set_bits(paddr, 0, BCM2835_SPI0_CS_TA);

    return 0;//ret;
}

1 SPI的CS信号改为手动控制
2 SPI不读接收到的数据,发送完直接返回
admiu 发表于 2013-4-6 11:08:50 | 显示全部楼层
从开始到今天试过网上的几种方法,NodeJs,wiringPi和今天在论坛里看到的驱动12864的bcm2835驱动.
zsctyh 发表于 2013-4-30 10:24:20 | 显示全部楼层
楼主整个详细教程噻
树老大 发表于 2013-5-7 01:57:29 | 显示全部楼层
强烈期待楼主这一个非常详细连贯的教程,会有很多人膜拜你的
tianyj  楼主| 发表于 2013-7-9 17:26:25 | 显示全部楼层
时间过得真快啊,没想到埋头苦干已经好个月了.
不过终于定板了.转入正题:

万博网页版登陆页派专用LCD液晶显示扩展板
2.2寸LCD的图片:

2.2正面

2.2正面

2.2寸背面

2.2寸背面
tianyj  楼主| 发表于 2013-7-9 17:27:34 | 显示全部楼层
2.4寸图片:

2.4寸正面

2.4寸正面

2.4寸背面

2.4寸背面
Dragon 发表于 2014-2-13 10:42:23 | 显示全部楼层
你这个是用的硬件SPI还是模拟SPI呢
Tech-Otakus 发表于 2015-1-13 17:05:44 | 显示全部楼层
楼主是自己编译的驱动吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版 | Archiver | 万博网页版登陆页派论坛 ( 粤ICP备15075382号-1 )