鴻蒙硬體HI3861 OLED掃雷版本1

2021-10-10 23:40:54 字數 1999 閱讀 3159

使用hi3861實現在oled1602上面實現掃雷

效果請看:

首先第一步是需要移植i2c顯示屏**

移植請看:

按鍵使用到的是oled上面的兩個按鍵,乙個控制左乙個控制右,hi3861上的按鍵時選中

在oled初始化啟動之後呼叫mineclear_start函式

static_library("mineclear")
mineclear.h

#ifndef mineclear_h

#define mineclear_h

#define mineclear_width 8

#define mineclear_height 16

#define mineclear_max 128

#define mine_max 10

#define adc_length 64

#define vlt_min 100

void mineclear_start(void);

void mine_init(void);

void minemake(void);

#endif

mineclear.c 

#include "mineclear.h"

#include #include #include #include "ohos_init.h"

#include "ssd1306.h"

#include #include "cmsis_os2.h"

#include #include #include #include #include "hi_adc.h"

#include "wifiiot_gpio.h"

#include "wifiiot_gpio_ex.h"

#include const uint32_t w = 8, h = 8;

uint8_t fonts[8] = , // 預設狀態

, // 沒有雷

, // 有雷

, // 選中

};

uint32_t mine_data2[mineclear_max];

uint32_t mineclear_data2[mineclear_max];

hi_u16 key_adc_buf[adc_length] = ;

int key_***;

uint32_t key_status = 0;

static uint32_t play_index = 0;

hi_void convert_to_voltage2(hi_u32 data_len)

vlt_val = (vlt_min + vlt_max)/2.0;

if((vlt_val > 0.4) && (vlt_val < 0.6))

if((vlt_val > 0.8) && (vlt_val < 1.1))

if((vlt_val > 0.01) && (vlt_val < 0.3))

}void starttest2(void)

key_adc_buf[i] = data;

}convert_to_voltage2(adc_length);

}void ssd1306_draw(uint32_t x, uint32_t y,int type)

void mineclear_refresh2(uint32_t d)

play_index++;

mouse_move();

}if(key_status == 3)else

//printf("[11]%d\r\n",play_index);

}key_status = 0;

osdelay(10);

}printf("game over\r\n");

return null;

}void mineclear_start(void)

}

鴻蒙硬體HI3861點燈

鴻蒙其他教程請看 建立檔案 build.gn static library mmled mmled.c include mmled.h include include include wifiiot gpio.h include wifiiot gpio ex.h include cmsis os2...

鴻蒙 Hi3861開發環境搭建踩坑記

官方關於開發環境搭建已經說的很清楚了,但是每個人的電腦環境配置都不同,很難說一步順利到位的。linux是用於搭建編譯環境的,windwos主要是搭建乙個燒錄 的環境。不得不說,個人覺得這個windows上的環境整的相對複雜了些,對初學不友好。linux上的坑主要是python3的版本和scons的版...

韋東山鴻蒙開發教程01 鴻蒙介紹

版本 日期作者 說明v1 2020 韋東山韋東山鴻蒙開發手冊 很多人會混淆鴻蒙跟linux的關係。所以鴻蒙要對標的是windows 安卓 ios這類完整系統,而linux只是鴻蒙支援的核心之一。鴻蒙支援多種核心,有linux,也有liteos a。鴻蒙的體系很龐大,看下圖,核心只是其中之一 lite...