【掌控板】9.1、arduinoC数字字符的显示及串口打印

1 前言

使用的是mind+,所以本文内容实际上均使用了mpyhton库,学习arduino参见9.3
之前的几章都是基于mpython写的,由于蓝牙未找到python的代码,尝试使用arduinoC编写.
注意,本章是使用了mpython的接口,实际上还是基于python编写,基于cpp的参见【掌控板】9.3、arduino环境搭建及led点亮

本文主要内容是:

  1. 数字字符的显示
  2. 串口打印

参考文章:
Arduino编程基础(二)——C\C++语言基础(上)
掌控板小实验:光控灯
掌控板小实验:声控灯

官方文档

2 代码

//--------------------------------------------------
// func1: 显示数字及字符串
// 存疑:为什么使用cpp屏幕显示有闪频,而python没有,是不是扫描频率比较低,肉眼可以看到
//
//--------------------------------------------------
#include <MPython.h>
long int mind_n_a;
char * a[10]= {"aaaaa"};
String b ="bbbb";

int light_num = 0;

// 主程序开始
void setup() {
	mPython.begin();
	
	//Serial
	Serial.begin(115200);
}
void loop() {
	display.setCursorLine(1);
	mind_n_a = 11;
	display.printLine(mind_n_a); // in_param is long int
	
	display.setCursorLine(2);
	display.printLine(sound.read());
	
	display.setCursorLine(3);
	display.printLine(*a); 
	
	display.setCursorLine(4);
	display.printLine(b); 
	
	
	Serial.print(light_num);
	if (light_num %2 == 1)
	{
	  rgb.write(0, 0x0000FF);
	  Serial.print(" light open\n");
	}
	else
	{
	  rgb.write(0, 0x000000);
	  Serial.print(" light close\n");
	}
	
	
	Serial.print("loop end\n");
	delay(1000);
	
	light_num ++;
}

3 结果

在这里插入图片描述

4 分析

4.1 语言差异

注意两点:

  1. c语言和python的差异,c需要在代码行尾加上";"
  2. c使用参数时需要定义该参数的类型

4.2 代码主体

主体代码由2部分组成,初始化函数以及循环函数.
void setup() {
}
void loop() {
}

4.3 重点函数----显示

重点关注三个函数
光标设置在第一行
display.setCursorLine(1);

在显示屏上打印数据
display.printLine(mind_n_a);

点亮led灯
rgb.write(1, 0x0000FF);
其中0是led灯的序号,目前掌控板是0-2,三个led灯
0x0000FF是颜色参数,红绿蓝,其中FF是蓝色的最大亮度.可以尝试修改为0X00FF00,看下颜色是否为绿色.

参见代码,我定义了三种类型的变量,分别时整形int, 字符型char ,字符串String.
display.printLine()函数均可以打印出来.看来源码中应该定义了同名函数,入参不同.

4.4 串口打印

初始化串口
Serial.begin(115200);
这里115200时波特率,对应的时截图里右下角的波特率设置,如果代码中的波特率与串口设置的波特率不同,则窗口无法显示打印log,可以尝试将串口波特率设置为4800,会发现没有log打印出来.

打印串口log
Serial.print(“loop end\n”);
Serial.print(light_num);

注意截图最下方的红框,有两个图标,第一个图标是打开串口,第二个图标是关闭串口.
在这里插入图片描述

5 小结

存疑:为什么使用c写道时候屏幕显示有闪频,而python没有,是不是扫描频率比较低,肉眼可以看到刷新异常.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值