IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【掌控板-arduino】3.2、滚动显示列表中的三个数据 -> 正文阅读

[数据结构与算法]【掌控板-arduino】3.2、滚动显示列表中的三个数据

文章目录

前言

打算编写一个字幕滚动显示。
可以使用链表、数组、字符串拼接
预计使用循环链表,然后显示其中的3个连续数据,显示在显示屏的第2、3、4行。——delay
使用string数组最为简便。

代码

/*
  func3.2 display scrolling list
*/

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>
#include <Arduino.h>
#include <Adafruit_NeoPixel.h>

#define MAX_LIST_NUM 15
#define MAX_DISPLAY_NUM 2   // can display 3 line

//add display
#include <Wire.h>               // Only needed for Arduino 1.6.5 and earlier
#include "SH1106Wire.h"        // legacy: #include "SSD1306.h"
SH1106Wire display(0x3c, 23, 22); 

String device_list = "A|B|C|D|E|F|G";
String device_list_array[MAX_LIST_NUM] = {"A","B","C","D","E","F"};
String temp_string = "";

int status_dp_list_num = 0;

int status_array_num_current = 0;
int status_array_num_max = 6;

void setup() {
  Serial.begin(115200);
  Serial.println("Scanning...");

  //init display
  display.init();
  display.flipScreenVertically();
  display.setFont(ArialMT_Plain_10);
}

void loop() {
  Serial.println("in loop");

  display.clear();
  display.drawString(0, 0, "light on");
  display.display();

  Serial.print("current: ");
  Serial.println(status_array_num_current);
  
  for (int temp=0; MAX_DISPLAY_NUM+1 > temp ; temp++){
    //to_string(status_array_num_current)+
    temp_string = String(status_array_num_current+temp)+" "+device_list_array[status_array_num_current + temp];
    Serial.println(temp_string);
    display.drawString(0, 16+16*temp, temp_string);
    display.display();
  }
  
  delay(1000);

  status_array_num_current = status_array_num_current+1;
  if (status_array_num_current >= status_array_num_max-MAX_DISPLAY_NUM)
    status_array_num_current = 0;
  
  Serial.println("out loop");
}

结果

在这里插入图片描述

后续再结合显示匹配的ble device name。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-03 13:17:15  更:2021-12-03 13:18:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 14:29:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码