【RISC-V】使用Arduino IDE开发环境编写的Hifive1开发板演示程序(Demo)。
RISC-V指令架构现在非常热,大有未来全球标准指令集之势。Hifive1是Sifive公司推出第一个商用RISC-V开发板,里面预装了一个三色发光二极管的颜色渐变的演示程序,但没有提供源代码,所以本人就仿照Hifive1开发板的演示效果,使用Arduino IDE写了这样一个模仿原效果的演示程序,如下供参考:
const int Interval = 50; //ms {1+}
const int MaxColorValue = 80; //{1..255}const int PinCount = 3;
const int PinGreen = 3, PinBlue = 5, PinRed = 6;
const int ColorPin[PinCount] = {PinRed, PinGreen, PinBlue};int CurPinNo = 0; //{0..2};
int ColorValue[PinCount] = {0, 0, 0};int LastPinNo;
boolean Checked = false;void setup() {for (int i=0; i<PinCount; i++) {pinMode(ColorPin[i], OUTPUT);}ColorValue[CurPinNo] = MaxColorValue;LastPinNo = CurPinNo - 1;if (LastPinNo < 0) {LastPinNo += PinCount;}Serial.begin(115200);for (int i=1; i<=4; i++) {if (Serial) {break;}delay(5);}Serial.println(""); Serial.println(" SIFIVE, INC.");Serial.println("");Serial.println(" 5555555555555555555555555");Serial.println(" 5555 5555");Serial.println(" 5555 5555");Serial.println(" 5555 5555");Serial.println(" 5555 5555555555555555555555");Serial.println(" 5555 555555555555555555555555");Serial.println(" 5555 5555");Serial.println(" 5555 5555");Serial.println(" 5555 5555");Serial.println("5555555555555555555555555555 55555");Serial.println(" 55555 555555555 55555");Serial.println(" 55555 55555 55555");Serial.println(" 55555 5 55555");Serial.println(" 55555 55555");Serial.println(" 55555 55555");Serial.println(" 55555 55555");Serial.println(" 55555 55555");Serial.println(" 55555 55555");Serial.println(" 555555555");Serial.println(" 55555");Serial.println(" 5");Serial.println("");Serial.println(" 'led_fade' Demo");Serial.println("");Serial.println("55555555555555555555555555555555555555555555555");Serial.println("5555555 Are the LEDs Changing? [y/n] 555555555");Serial.println("55555555555555555555555555555555555555555555555");
}void loop() { for (int i=0; i<PinCount; i++) {analogWrite(ColorPin[i], 255 - ColorValue[i]); } //0=Brightest, 255=Darkest;if (ColorValue[CurPinNo]== MaxColorValue) {if (++CurPinNo >= PinCount) {CurPinNo = 0;}if (++LastPinNo >= PinCount) {LastPinNo = 0;}}--ColorValue[LastPinNo];++ColorValue[CurPinNo ];String Input = "";while (Serial.available() > 0){Input += (char) Serial.read();delay(5);}if (!Checked) {Input.toLowerCase();if (Input == "y") {Serial.println(Input);Serial.println("PASS");Checked = true;} if (Input == "n") {Serial.println(Input);Serial.println("FAIL");Checked = true;} }delay(Interval);
}
【RISC-V】使用Arduino IDE开发环境编写的Hifive1开发板演示程序(Demo)。相关推荐
- 如何让Arduino IDE支持你手里的STM32 nucleo开发板
Arduino IDE开发环境在默认情况下不支持STM32 NUCLEO开发板,只有通过添加附加开发板管理包才能使用.目前为止,只有一部分板子支持使用Arduino IDE开发环境进行开发,分别是 N ...
- java开发环境安装原理,java开发环境搭建 java开发环境的完整搭建过程
想了解java开发环境的完整搭建过程的相关内容吗,Rosalh在本文为您仔细讲解java开发环境搭建的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java开发环境搭建步骤,java开发环 ...
- 游戏程序设计 # ch13 开发工具 # 开发语言、开发环境、腾讯开发组件、网络通信和业务框架介绍
第十三章 开发工具 1 开发语言 2 开发环境 3 腾讯开发组件介绍 4 网络通信+业务框架介绍 第一节 开发语言 腾讯服务器主要使用的语言是C/C++ 第二节 开发环境 (指:客户端) 第三节 腾讯 ...
- 物联网实践|Huawei LiteOS开发环境搭建及在Hi3861上跑Demo
简介 本次实践是为尝试在嵌有华为海思芯片的Hi3861WIFI物联网开发板上配置开发环境并使用配套开发工具(HUAWEI DevEco Device Tool或HUAWEI LiteOS Studio ...
- 【LoRa32U4II】介绍以及基于Arduino IDE编译环境搭建及测试
目录 LoRa 模块LoRa32u4 II介绍 LoRa32u4 II 资料下载 LoRa32u4 II 规格介绍 LoRa32u4 II 脚位说明 编译环境介绍 电脑系统 编译软件 Arduino需 ...
- Masm for Windows集成开发环境编写汇编程序
由于最近在学习汇编,用的软件是一款叫"Masm for Windows集成开发环境",但是发现该软件的资料比较少,对于我们这样刚刚学习汇编的同学,我查找了很多资料,下面主要是介绍该 ...
- 全志 a33 linux qt,全志A33 lichee 搭建Qt App开发环境编写helloworld
image 开发平台 芯灵思SinlinxA33开发板 image 嵌入式linux 开发板交流 QQ:641395230 Step 1 在虚拟机(CentOS7)上安装Qt Creator 将qt- ...
- 《我和PIC单片机:基于PIC18》——第2章 PIC的开发环境 2.1 PIC开发的硬件资源...
第2章 PIC的开发环境 前面我们学习了PIC的内部资源配置和I/O口的基本结构,这一章我们重点要实现对I/O口的控制.单片机是软硬件结合的统一体,因此本章先介绍如何用简单的材料搭建起供学习使用的最小 ...
- JAVA 基础(1)开发环境的搭建以及开发工具的选择
我们现在还是在学习阶段因此我们不用配置那么多的jdk,配置一个jdk8就够应付日常的学习了.前面的文章我尽量写详细一些照顾刚入坑的朋友.后文还有教大家怎么使用企业版的idea. 一.开发环境的搭建 1 ...
最新文章
- LeetCode简单题之两句话中的不常见单词
- python精彩编程200例百度_Python趣味编程与精彩实例
- VC++6.0出现no compile tool is associated with the extension.解决方法
- Enterprise Library——企业库配置管理应用程序块
- NYOJ 301 递推求值(矩阵快速幂)
- UML在powerDesigner的使用及其相关概念
- 11条要点速读:网络小额贷款业务管理暂行办法(征求意见稿)
- [产品相关] A/B测试终极指南(翻译)
- Nginx——安装与虚拟主机配置(域名非80端口问题)
- asx根据时间点播放
- java文件删除失败
- xmind 拖拽_思维导图,原来Xmind这么强大!
- 风行视频app v3.4.3.1
- 洛谷 - P3403 跳楼机(同余最短路)
- R 语言计算卡方检验的P值
- 阿里无线11.11 | 手机淘宝主会场实践之路
- 【C语言零基础全套课件】
- 微信扫码背后的图像超分辨率技术
- 研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了
- 初 级 测 井 工 题 库 三哥》