打印
[产品应用]

芯源CW32L010开发板点亮OLED屏

[复制链接]
256|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 gtbestom 于 2024-12-5 22:04 编辑

芯源 CW32L010F8P6 是武汉芯源半导体生产的 ARM Cortex M0+ 单片机,支持国产芯片

主频最高 48MHz,Flash 64K,RAM 4K,具有安全低功耗等特点

官方 CW32L010F8P6 StartKit 开发板上集成了 USB 转串口芯片,EEPROM,FLASH,2个按键,2个LED灯,方便快速开发


芯片支持 JLINK,ST-LINK,CW-DAPLINK 下载,刚好身边有一个 ST-LINK 可以直接使用


将 Flash 接口的跳线帽拔掉,直接插上 IIC 接口 OLED 屏,准备开始点亮


PA03->SDA
PA04->SCL

PA05->GND(输出低电平供电)



将 PA05 输出低电平作为显示屏 GND,这样就不需要跳线,直接插入就可以驱动





点亮效果如下,使用 GPIO 引脚模拟 IIC



代码如下:

int32_t main(void)
{
    GPIO_InitTypeDef GPIO_InitStruct = {0};

    SYSCTRL_HSI_Enable(SYSCTRL_HSIOSC_DIV12);

    __SYSCTRL_GPIOA_CLK_ENABLE();
    __SYSCTRL_GPIOB_CLK_ENABLE();  

    GPIO_InitStruct.IT = GPIO_IT_NONE;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Pins = PIN_4 | PIN_5;
    GPIO_Init(CW_GPIOA, &GPIO_InitStruct);
    GPIO_PIN_L(CW_GPIOA, PIN_5);
   
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
    GPIO_InitStruct.Pins = PIN_3;
    GPIO_Init(CW_GPIOA, &GPIO_InitStruct);
   
    Mem_Init();
    OLED_SSD1306_Init();
    OLED_SSD1306_Fill(0x00);

    image = Image_Malloc(128, 64, 1);
    canvas = Canvas_Init(NULL, image);
   
    Canvas_Point(canvas, 0, 0);
    Canvas_Point(canvas, 0, 63);
    Canvas_Point(canvas, 63, 0);
    Canvas_Point(canvas, 63, 63);
    Canvas_Point(canvas, 127, 0);
    Canvas_Point(canvas, 127, 63);
   
    Canvas_Circle(canvas, 64, 50, 10);
    Canvas_Line(canvas, 64, 63, 10, 45);
   
    Canvas_SetXY(canvas, 10, 10);
    Canvas_Str(canvas, "CW32L010F8P6");

    Canvas_SetXY(canvas, 20, 25);
    Canvas_Str(canvas, "bbs.21ic.com");

    OLED_SSD1306_Draw(image->buffer->paddr, 0, 0, image->width, image->height);

    while (1)
    {

    }
}


使用特权

评论回复
沙发
AdaMaYun| | 2024-12-10 08:51 | 只看该作者
下载工具上使用应该都是差不多的

使用特权

评论回复
板凳
LOVEEVER| | 2024-12-12 09:02 | 只看该作者
下载过程中有什么其他的特别注意的嘛?

使用特权

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

本版积分规则

19

主题

106

帖子

0

粉丝