硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1200|回复: 6
收起左侧

[SPI控制器] 尝试H7-TOOL的SPI控制器驱动RA8875大屏

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
发表于 2022-4-22 11:02:05 | 显示全部楼层 |阅读模式


当成一个简单的的log消息展示还不错,尝试驱动测试下:

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
 楼主| 发表于 2022-4-23 00:04:20 | 显示全部楼层
RA8875的ID读取还有点问题:

image.png

[C] 纯文本查看 复制代码
-----------------------------------------------------------------------
---  RA8875
-----------------------------------------------------------------------
SPI_WRITE_DATA = 0x00
SPI_READ_DATA  = 0x40
SPI_WRITE_CMD  = 0x80
SPI_READ_STATUS = 0xC0

-- 写RA8875指令寄存器
function RA8875_WriteCmd(_ucRegAddr)
    SPI_WriteData(0x00, string.char(SPI_WRITE_CMD))
    delayms(1);
    SPI_WriteData(0x00, string.char(_ucRegAddr))  
end

-- 
function RA8875_WriteData(_ucRegValue)
    SPI_WriteData(0x00, string.char(SPI_WRITE_DATA))
    delayms(1);
    SPI_WriteData(0x00, string.char(_ucRegValue))  
end

-- 
function RA8875_ReadData()
    local Value

    SPI_WriteData(0x00, string.char(SPI_READ_DATA))
    delayms(1);
    Value = SPI_ReadData(0x00, 1, 16)

    return Value
end

-- 
function RA8875_WriteData16(_usRGB)
    SPI_WriteData(0x00, string.char(SPI_READ_DATA))
    delayms(1);
    SPI_WriteData(0x00, string.char(_usRGB/256))
    delayms(1);
    SPI_WriteData(0x00, string.char(SPI_READ_DATA))
    delayms(1);
    SPI_WriteData(0x00, string.char(_usRGB&0x00ff))
    delayms(1);
end


function RA8875_ReadStatus()
    local Value

    SPI_WriteData(0x00, string.char(SPI_READ_STATUS))
    delayms(1);
    Value = SPI_ReadData(0x00, 1, 16)

    return Value
end

function RA8875_ReadReg(_ucRegAddr)
    local Value

    RA8875_WriteCmd(_ucRegAddr)
    delayms(1);
    Value = RA8875_ReadData()

    return Value
end



----------------------------------------------------------------------
--  应用测试代码
-----------------------------------------------------------------------


SPI_Init(4, 0, 1) --频率ID, 时钟相位, 时钟极性
gpio_write(1, 0) --设置输出D1 = 0
delayms(50);
gpio_write(1, 1) --设置输出D1 = 1
delayms(50);
RA8875_ReadReg(0x00)

回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2022-4-24 00:51:38 | 显示全部楼层
RA8875屏幕切换到SPI模式没有
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
 楼主| 发表于 2022-4-24 01:50:46 | 显示全部楼层
armfly 发表于 2022-4-24 00:51
RA8875屏幕切换到SPI模式没有

开了,不行,下周再试试。
回复

使用道具 举报

334

主题

2033

回帖

3040

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3040
发表于 2022-4-24 09:54:14 | 显示全部楼层
本帖最后由 caicaptain2 于 2022-4-24 09:56 编辑

肯定可以的。 就用8875内部的ASCII字库,全英文就好了。代码也简单。 我用的是并口加8875内部字库,显示log信息方便又简洁。
印象中,安富莱的8875屏幕也带了标准汉字字库的flash芯片,那么也可以方便显示汉子了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
 楼主| 发表于 2022-4-24 10:13:33 | 显示全部楼层
caicaptain2 发表于 2022-4-24 09:54
肯定可以的。 就用8875内部的ASCII字库,全英文就好了。代码也简单。 我用的是并口加8875内部字库,显示log ...

嗯,用C实现比较简单, LUA实现还得再研究下。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106856
QQ
 楼主| 发表于 2022-5-5 10:27:56 | 显示全部楼层
今天再试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-7 22:38 , Processed in 0.437649 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表