打印
[活动专区]

【AT-START-WB415测评】驱动OLED

[复制链接]
1074|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
51xlf|  楼主 | 2022-8-13 12:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这里利用WB415驱动IIC的OLED,因为便于移植,所以使用的是宏定义实现的IO口操作。

这里使用的是PC0和PC1分别与oled的scl和sda连接。
先使用宏定义实现对IO口的操作。
  #define OLED_SCLK_Pin GPIO_PINS_0
#define OLED_SCLK_GPIO_Port GPIOC
#define OLED_SDIN_Pin GPIO_PINS_1
#define OLED_SDIN_GPIO_Port GPIOC
使用宏定义实现对io口的操作
#define OLED_SCLK_Clr() OLED_SCLK_GPIO_Port->clr = OLED_SCLK_Pin//SCL  拉低
#define OLED_SCLK_Set() OLED_SCLK_GPIO_Port->scr = OLED_SCLK_Pin  //SCL  拉高

#define OLED_SDIN_Clr() OLED_SDIN_GPIO_Port->clr = OLED_SDIN_Pin//SDA  拉低
#define OLED_SDIN_Set() OLED_SDIN_GPIO_Port->scr = OLED_SDIN_Pin //SDA  拉高
最重要的是实现对IO口的初始化。
  gpio_init_type gpio_init_struct;

  /* enable the led clock */
  crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE);

  /* set default parameter */
  gpio_default_para_init(&gpio_init_struct);

  /* configure the led gpio */
  gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
  gpio_init_struct.gpio_out_type  = GPIO_OUTPUT_PUSH_PULL;
  gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
  gpio_init_struct.gpio_pins =  OLED_SCLK_Pin|OLED_SDIN_Pin;
  gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
  gpio_init(OLED_SDIN_GPIO_Port, &gpio_init_struct);
驱动OLED显示的代码。
    OLED_Init();
    OLED_Clear();
    OLED_ShowStringCN(0,0,"雅特力WB415",1);
    OLED_ShowStringCN(0,16,"BBS.21ic.com",1);
    OLED_Refresh();
来一个显示的效果图


附上源代码
游客,如果您要查看本帖隐藏内容请回复

使用特权

评论回复
沙发
duo点| | 2022-8-18 17:44 | 只看该作者
回帖看源码

使用特权

评论回复
板凳
秦生0303| | 2022-8-20 10:38 | 只看该作者
你这要是硬件IIC还可以

使用特权

评论回复
地板
wdvsdw| | 2024-5-3 11:27 | 只看该作者
回帖看源码

使用特权

评论回复
5
Jon495323976| | 2024-5-11 15:22 | 只看该作者

使用特权

评论回复
6
dirty123| | 2024-5-15 14:11 | 只看该作者

使用特权

评论回复
7
fsy18772727533| | 2024-5-16 16:48 | 只看该作者
学习学习学习学习

使用特权

评论回复
8
ctbsea| | 2024-7-23 13:51 | 只看该作者
回帖看源码

使用特权

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

本版积分规则

534

主题

9444

帖子

23

粉丝