外设资源实验1-OLED显示实验

本次实验旨在掌握OLED显示器的驱动技术和I2C总线通信,使用STM32L071微控制器通过HAL库初始化GPIO并实现OLED显示'GXCT IOT'和'OLED Test'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

外设资源实验1-OLED显示实验

实验目的:
掌握OLED显示器驱动的方法。
掌握I2C总线的基本时序控制原理和通信过程。
掌握STM32L071微控制器HAL库GPIO函数接口。
实验现象:
LoRa节点第一行上显示 “GXCT IOT”, 第二行上显示 “OLED Test”。

一、实验代码

int main(void)
{
    /* USER CODE BEGIN 1 */
    /* USER CODE END 1 */
    /* MCU Configuration--------------------------------------------------------*/
    /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
    HAL_Init();
    /* USER CODE BEGIN Init */
    /* USER CODE END Init */
    /* Configure the system clock */
    SystemClock_Config();
    /* USER CODE BEGIN SysInit */
    /* USER CODE END SysInit */
    /* Initialize all configured peripherals */
    MX_GPIO_Init();
    /* USER CODE BEGIN 2 */
    Task_BrdInit();
    /* USER CODE END 2 */
    /* Infinite loop */
    /* USER CODE BEGIN WHILE */
    while (1)
    {
        /* USER CODE END WHILE */
        /* USER CODE BEGIN 3 */
        Task_Main();
    }
    /* USER CODE END 3 */
}

二、Task_BrdInit函数

void Task_BrdInit(void)
{
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_15, GPIO_PIN_SET);
    OLED_PowerControl(ENABLE);
    HAL_Delay(200);
    OLED_Init();
    OLED_Clear();
    OLED_ShowString(0, 0, (unsigned char *)"                ", 16);
    OLED_ShowString(0, 2, (unsigned char *)"                ", 16);
}

三、Task_Main函数

void Task_Main(void)
{
    char lcdLine_1st_line[16];
    char lcdLine_2st_line[16];
    sprintf(lcdLine_1st_line, "GXCT IOT       ");
    sprintf(lcdLine_2st_line, "OLED Test      ");
    OLED_ShowString(0, 0, (unsigned char *)lcdLine_1st_line, 16);
    OLED_ShowString(0, 2, (unsigned char *)lcdLine_2st_line, 16);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值