[活动专区]

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

[复制链接]
795|2
手机看帖
扫描二维码
随时随地手机跟帖
51xlf|  楼主 | 2022-8-13 12:49 | 显示全部楼层 |阅读模式
这里利用WB415驱动IIC的OLED,因为便于移植,所以使用的是宏定义实现的IO口操作。
1625962f72c2d6dd4c.png
这里使用的是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();
来一个显示的效果图
4.jpg

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

使用特权

评论回复
duo点| | 2022-8-18 17:44 | 显示全部楼层
回帖看源码

使用特权

评论回复
秦生0303| | 2022-8-20 10:38 | 显示全部楼层
你这要是硬件IIC还可以

使用特权

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

本版积分规则

521

主题

9288

帖子

17

粉丝