单片机学习小组
直播中

名士流

8年用户 895经验值
私信 关注

如何利用LoRa模块去点亮OLED屏呢

如何利用LoRa模块去点亮OLED屏呢?其代码怎样去实现呢?

回帖(2)

邓天文

2022-1-21 14:46:18
新大陆LoRa模块板内容显示


功能



  • 点亮OLED屏
  • 显示内容
  • 可使用按键控制内容

环境



  • keli uVision5
  • flash_loader_demo_v2.8.0

代码


/**
  ******************************************************************************
  * File Name          : main.c
  * Description        : Main program body
  ******************************************************************************
  */
#include
#include "board.h"
#include "hal_key.h"
#include "tim-board.h"
#include "timer_handles.h"
#include "led_light.h"


uint16_t tenMSecClick=0;                                                                                                                                                // 10毫秒计时器


/**********************************************************************************************
*函数:void Init( void )
*功能:平台初始化
*输入:无
*输出:无
*特殊说明:无
**********************************************************************************************/
void Init() {
    // 开发板平台初始化
    BoardInitMcu();
    BoardInitPeriph();
    OLED_Init();//显示屏初始化
    keys_init();//按键初始化
    setTimer2Callback(Time2Handler);
    Tim2McuInit(1);//定时器初始化,设置定时中断1ms中断一次
}


/**********************************************************************************************
*函数:void KeyDownHandler( void )
*功能:按钮事件监听
*输入:无
*输出:无
*特殊说明:无
**********************************************************************************************/
int now = 0;


void KeyDownHandler(void) {
        scan_keys();
        if(isKey2Pressed()){
                resetKey2();
                switch(now){
                        case 1:now=0;break;
                        case 0:now=0;break;
                }
        }
        if(isKey3Pressed()){
                resetKey3();
                switch(now){
                        case 0:now=1;break;
                        case 1:now=1;break;
                }
        }
}


/**********************************************************************************************
*函数:void handlerPre10Ms( void )
*功能:10毫秒循环
*输入:无
*输出:无
*特殊说明:循环处理总时长300ms
**********************************************************************************************/
void handlerPre10Ms(void) {
    for (int delay = 0; delay < 30; delay++) {
        HAL_Delay(10);
    }
}






/**
* Main application entry point.
*/
int main( void )
{
    Init();
        OLED_ShowString(0,1,"NO.1");
        OLED_ShowString(0,3,"NO.2");
    while(1){
                KeyDownHandler();
             if(now==0){
                        OLED_ShowString(60,1,"<");
                        OLED_ShowString(60,3,"  ");
                }
                else if(now==1){
                        OLED_ShowString(60,1,"  ");
                        OLED_ShowString(60,3,"<");
                }
    }
}
举报

Tiantian01

2022-10-10 21:59:59
可以提供技术支持,微信同
举报

更多回帖

发帖
×
20
完善资料,
赚取积分