打印
[单片机芯片]

【CH32X035评估板测评】+IO模拟时序驱动OLED液晶

[复制链接]
2660|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2023-10-8 21:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
因为之前使用CH32V307的时候用307驱动过一个OLED液晶,这次就准备将这个OLED.C完整的移植到CH32X035上。
先将OLED相关的.C和.H文件复制到CH32X035EVT的demo目录下,我是添加到了GPIO_Toggle的工程当中。


修改对应的数据和时钟IO口,进行好IO口的输出模式配置就可以了。
//管脚配置
#define OLED_SCLK_Clr() GPIO_WriteBit(GPIOA,GPIO_Pin_7,Bit_RESET)
#define OLED_SCLK_Set() GPIO_WriteBit(GPIOA,GPIO_Pin_7,Bit_SET)

#define OLED_SDIN_Clr() GPIO_WriteBit(GPIOA,GPIO_Pin_6,Bit_RESET)
#define OLED_SDIN_Set() GPIO_WriteBit(GPIOA,GPIO_Pin_6,Bit_SET)

在main中添加OLED相关的初始化函数,和显示功能函数。
int main(void)
{
    u8 i = 0;

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    SystemCoreClockUpdate();
    Delay_Init();
    OLED_Configuration();
    OLED_Init();
    OLED_Poweron();
    USART_Printf_Init(115200);
    printf("SystemClk:%d\r\n", SystemCoreClock);
    printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() );
    printf("GPIO Toggle TEST\r\n");
    GPIO_Toggle_INIT();

    while(1)
    {
        Delay_Ms(500);
        GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
        OLED_Show();
    }
}

编译下载之后连接好电源线和两根通讯线就可以显示对应的界面信息。整个过程比较顺利,后续有空采用CH32X035自带的I2C来驱动一次看看。


显示效果:
RISC-V
CH32X035

使用特权

评论回复
沙发
tpgf| | 2024-6-3 15:39 | 只看该作者
所有的oled液晶所需要的驱动都是一样的时序吗

使用特权

评论回复
板凳
木木guainv| | 2024-6-3 16:15 | 只看该作者
单片机有没有专用的接口用来控制驱动oled液晶呢

使用特权

评论回复
地板
晓伍| | 2024-6-3 17:35 | 只看该作者
屏幕的刷新频率需要软件自行设置吗

使用特权

评论回复
5
磨砂| | 2024-6-3 19:16 | 只看该作者
可以将液晶显示调节为自适应吗

使用特权

评论回复
6
caigang13| | 2024-6-3 19:18 | 只看该作者
这种OLED的价格现在已经很低了,以前贵的很。

使用特权

评论回复
7
xiaoqizi| | 2024-6-3 20:18 | 只看该作者
这种液晶的显示是不是跟画图似的啊 想要调整都比较困难呢

使用特权

评论回复
8
wowu| | 2024-6-3 20:49 | 只看该作者
oled的液晶显示也需要一定的时序进行驱动吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1762

主题

13158

帖子

55

粉丝