打印
[AT32L021]

【AT-START-L021测评】OLED显示

[复制链接]
1876|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 meiyaolei 于 2024-12-31 23:03 编辑

OLED引脚说明

GND:电源地,连接电源负极。
VCC:电源正极,提供2.2V~5.5V的电压。
SCL(D0):时钟引脚,用于I²C通信的时钟信号。
SDA(D1):数据引脚,用于I²C通信的数据信号。


在AT32的初始化代码中,需要配置I²C的时钟频率、地址等参数。
在配置好参数后,需要初始化I²C硬件,使其进入工作状态。
根据OLED屏幕的通信协议,编写I²C通信代码,包括发送命令、发送数据等操作。
在编写好代码后,需要进行调试和测试,确保I²C通信能够正常工作,并且OLED屏幕能够正确显示内容。

I2C框图:

时序:
I2C 内核由I2C_CLK 提供时钟,I2C_CLK 由PCLK1 提供,PCLK1 周期需满足小于4/3 SCL 周期。
通过I2C_CLKCTRL 寄存器的各个位,配置各个时序。
— DIV[7: 0]: I2C时钟分频;
— SDAD[3: 0]:数据保持时间( tHD;DAT) ;
— SCLD[3:0]:数据建立时间( tSU;DAT) ;
— SCLH[7:0]:SCL高电平时间;
— SCLL[7: 0]:SCL低电平时间。


软件部分:
该部分是硬件IIC的驱动宏定义部分:

#define I2Cx_ADDRESS                     0xA0

#define I2Cx_PORT                        I2C1
#define I2Cx_CLK                         CRM_I2C1_PERIPH_CLOCK
#define I2Cx_DMA                         DMA1
#define I2Cx_DMA_CLK                     CRM_DMA1_PERIPH_CLOCK

#define I2Cx_SCL_GPIO_CLK                CRM_GPIOB_PERIPH_CLOCK
#define I2Cx_SCL_GPIO_PIN                GPIO_PINS_6
#define I2Cx_SCL_GPIO_PinsSource         GPIO_PINS_SOURCE6
#define I2Cx_SCL_GPIO_PORT               GPIOB
#define I2Cx_SCL_GPIO_MUX                GPIO_MUX_1

#define I2Cx_SDA_GPIO_CLK                CRM_GPIOB_PERIPH_CLOCK
#define I2Cx_SDA_GPIO_PIN                GPIO_PINS_7
#define I2Cx_SDA_GPIO_PinsSource         GPIO_PINS_SOURCE7
#define I2Cx_SDA_GPIO_PORT               GPIOB
#define I2Cx_SDA_GPIO_MUX                GPIO_MUX_1
硬件IIC驱动部分:
void i2c_lowlevel_init(i2c_handle_type* hi2c)
{
  gpio_init_type gpio_init_structure;

  if(hi2c->i2cx == I2Cx_PORT)
  {
    /* i2c periph clock enable */
    crm_periph_clock_enable(I2Cx_CLK, TRUE);
    crm_periph_clock_enable(I2Cx_SCL_GPIO_CLK, TRUE);
    crm_periph_clock_enable(I2Cx_SDA_GPIO_CLK, TRUE);

    /* gpio configuration */
    gpio_pin_mux_config(I2Cx_SCL_GPIO_PORT, I2Cx_SCL_GPIO_PinsSource, I2Cx_SCL_GPIO_MUX);

    gpio_pin_mux_config(I2Cx_SDA_GPIO_PORT, I2Cx_SDA_GPIO_PinsSource, I2Cx_SDA_GPIO_MUX);

    /* configure i2c pins: scl */
    gpio_init_structure.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
    gpio_init_structure.gpio_mode           = GPIO_MODE_MUX;
    gpio_init_structure.gpio_out_type       = GPIO_OUTPUT_OPEN_DRAIN;
    gpio_init_structure.gpio_pull           = GPIO_PULL_NONE;

    gpio_init_structure.gpio_pins           = I2Cx_SCL_GPIO_PIN;
    gpio_init(I2Cx_SCL_GPIO_PORT, &gpio_init_structure);

    /* configure i2c pins: sda */
    gpio_init_structure.gpio_pins           = I2Cx_SDA_GPIO_PIN;
    gpio_init(I2Cx_SDA_GPIO_PORT, &gpio_init_structure);

    /* config i2c */
    i2c_init(hi2c->i2cx, 0x0F, I2Cx_CLKCTRL);

    i2c_own_address1_set(hi2c->i2cx, I2C_ADDRESS_MODE_7BIT, I2Cx_ADDRESS);
  }
}



实际输出结果:



使用特权

评论回复
沙发
caigang13| | 2025-1-2 12:58 | 只看该作者
这个PCB看起来好空,做小一点好看些。

使用特权

评论回复
板凳
rosemoore| | 2025-1-3 20:48 | 只看该作者
帖子详细介绍了AT-START-L021开发板及其OLED显示功能,涵盖了硬件规格、软件配置和实际操作等多个方面。

使用特权

评论回复
地板
mickit| | 2025-1-3 21:35 | 只看该作者
对于想要在 AT-START-L021 开发板上实现 OLED 显示的读者来说,这些内容具有很强的指导意义,能够帮助他们快速上手并进行实际操作

使用特权

评论回复
5
belindagraham| | 2025-1-3 23:06 | 只看该作者
帖子中配有丰富的图片和视频,直观展示了开发板的外观、连接方式和OLED显示效果。

使用特权

评论回复
6
yorkbarney| | 2025-1-4 02:11 | 只看该作者
对于那些想要在实际项目中应用OLED显示技术的开发者来说非常有用。

使用特权

评论回复
7
pentruman| | 2025-1-4 07:53 | 只看该作者
按照从硬件连接到软件配置再到调试的顺序进行阐述,层次分明,使读者能够清晰地了解在 AT-START-L021 上实现 OLED 显示的整个流程。

使用特权

评论回复
8
abotomson| | 2025-1-5 09:10 | 只看该作者
OLED显示器能够实现极高的对比度,暗部表现特别优秀,可以实现真正的纯黑。这是因为每个像素都可以独立发光,无需依赖背光源,使得黑色部分显得深邃而真实。

使用特权

评论回复
9
iyoum| | 2025-1-5 12:59 | 只看该作者
官方提供了大量的示例代码和教程,帮助开发者理解如何使用OLED显示功能。

使用特权

评论回复
10
jtracy3| | 2025-1-5 15:51 | 只看该作者
通过提供详细的代码和说明, 为读者提供了一个良好的学习和实践平台。

使用特权

评论回复
11
hilahope| | 2025-1-5 16:18 | 只看该作者
详细介绍了 OLED 引脚说明,包括 GND、VCC、SCL、SDA 等引脚的功能,以及在 AT32 中初始化 I²C 的相关参数配置和硬件初始化方法,还提及了根据 OLED 屏幕通信协议编写 I²C 通信代码的要点

使用特权

评论回复
12
uytyu| | 2025-1-5 18:00 | 只看该作者
内置了针对OLED显示的驱动程序,简化了显示内容的编程过程。

使用特权

评论回复
13
earlmax| | 2025-1-5 18:25 | 只看该作者
如何通过I2C/IIC接口驱动OLED屏幕,这涉及到硬件和软件的配置,以及如何编写和调试相关的代码。

使用特权

评论回复
14
eefas| | 2025-1-5 18:50 | 只看该作者
详细介绍了如何使用AT32L021开发板通过I2C硬件方式驱动OLED显示屏。从硬件接口的连接、软件配置到具体的显示函数实现,都进行了详细的说明。

使用特权

评论回复
15
tabmone| | 2025-1-5 20:28 | 只看该作者
对于初学者来说,这样的详细介绍非常有帮助,能够快速了解和上手这款开发板。

使用特权

评论回复
16
loutin| | 2025-1-5 20:51 | 只看该作者
这对于嵌入式开发者和爱好者来说是一个宝贵的资源,因为它不仅提供了技术细节,还可能包含了一些常见问题的解决方案和最佳实践。

使用特权

评论回复
17
minzisc| | 2025-1-7 13:05 | 只看该作者
帮助开发者理解和掌握在AT-START-L021开发板上使用OLED显示的技术。

使用特权

评论回复
18
juliestephen| | 2025-1-7 20:12 | 只看该作者
提供了完善的开发环境和工具链,支持多种编程语言和框架,便于开发者快速上手

使用特权

评论回复
19
chenjun89| | 2025-1-7 20:39 | 只看该作者
现在这种12864分辨率的OLED都打成白菜价了

使用特权

评论回复
20
timfordlare| | 2025-1-7 23:19 | 只看该作者
提供了OLED显示屏初始化的完整代码示例,以及清屏、显示字符串等功能的实现方法。

使用特权

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

本版积分规则

认证:工程师
简介:超越自我,为设计激发灵感和想象。

196

主题

715

帖子

4

粉丝