[作品提交] 【平头哥RVB2601创意应用开发】网络闹钟

hehung   2022-6-4 12:42 楼主

 

网络闹钟

作者:hehung

一、项目背景

本作品设计目的是解决市面上的闹钟功能单一,没有联网功能的缺点。第一次了解到RVB2601,看到板载OLED显示屏,按键,WIFI等设备就有了可以做一个多功能联网闹钟的想法。全部功能都可以用板载资源完成,无需外接其他传感器等,简化了设置流程。经过三个月的反复调试,最终实现了除闹钟功能外还包括获取天气信息,自动校准时间,手动设置时间,Iot物联网远程控制,报时等功能。

 

二、作品简介

该作品为一个多功能闹钟,主要实现日历时间显示,天气信息显示,联网状态显示,语音报时,闹钟设置,联网校时,手动设置时间,wifi配置,城市设置等功能。第一次上电所有设置为默认状态,用户可以对wifi名以及密码进行设置之后会自动联网进行校时,天气信息获取,物联网连接等。Wifi配置好了之后系统会自动保存配置信息,下一次上电会自动联网。通过巧妙设计使得所有操作均通过板载两个按键或者物联网WEB界面配置来完成,系统中所有设置项均会自动保存掉电不丢失。

image-20220604122618-1.png   image-20220604122618-2.jpeg  

三、系统框图

系统中使用了AOS,kv,网络管理,RTC,NTP,cJSON,播放器,AT等资源等。

外设使用了板载外设OLED,喇叭,LED,按键KEY1和KEY2,板载wifi芯片W800。 总系统设计架构图见下图。

 

image-20220604122618-3.png  

 

  1. OLED

OLED部分主要用于显示信息,根据当前显示界面可以完成整个系统的设置以及操作等,因这部分架构较为复杂,单独画图说明,如下图:

image-20220604122618-4.png  

OLED是该作品的核心部分,主要包含九大部分,每个部分的切换在第四章中详细描述。

    ①时间显示界面。用于显示日期时间,联网状态,闹钟开启状态,IOT物联网平台连接状态,当前天气和温湿度信息;

    ②菜单显示界面。显示四个可选菜单项,分别为设置,wifi配网,天气,退出;

    ③设置显示界面。显示闹钟,音量以及音量百分比,音效以及音效使能状态,报时以及报时使能状态,联网校时以及联网校时使能状态,时间,天气城市代码,退出等信息;

    ④Wifi配网显示界面。显示wifi名字长度,wifi名字,wifi密码长度,wifi密码,退出等信息;

    ⑤天气信息显示界面。该界面将滚动显示,主要显示今日天气,今日温度,今日湿度,当前天气,当前温度等信息;

    ⑥闹钟选择显示界面。显示闹钟时间,当前是第几个闹钟,切换上一个闹钟按钮,切换下一个闹钟按钮,退出等信息;

    ⑦闹钟设置显示界面。显示当前闹钟是第几个闹钟,闹钟时间,闹钟使能状态,星期一到星期天的闹钟使能状态,退出等信息;

    ⑧时间设置显示界面。主要显示要设置的时间的年月日时分秒,退出等信息;

    ⑨城市代码设置显示界面。该代码用于获取天气信息使用,显示需要获取的城市的天气代码。

  1. 喇叭

喇叭用于播放“欢迎声音”,“闹钟音乐”,“按键音效”以及“音量设置时音效”。

  1. LED

作品中使用了绿色以及红色LED。

绿色LED作为系统工作指示灯循环明暗交替变化;

红色LED作为闹钟指示灯,当设定闹钟时间到了之后停止绿色LED工作,变为红色LED循环明暗交替变化提示闹钟时间到了。

  1. 按键

两个板载按键KEY1和KEY2用于显示界面切换以及所有设置项操作。

  1. W800

用于联网控制。IoT数据交互,NTP校时,天气信息获取。

上电之后会自动进行NTP校时,校时完成之后会获取天气信息,之后连接IoT平台进行数据交互

  1. WEB

Web界面用于IoT控制。包括闹钟时间设置,使能/禁能设置设置,闹钟星期使能/禁能设置,音量百分比设置,音效使能/禁能设置设置,报时使能/禁能设置设置,联网校时使能/禁能设置,时间设置,天气城市代码设置等控制功能,便于用于操作,可以与本地设置结合使用;

 

四、各部分功能说明和解析

软件实现中的任务分配如下图所示。

image-20220604122618-5.png  

image-20220604122618-6.png  

  1. 按键

按键逻辑在一个周期为20ms的任务中工作。

按键使用了板载的两个按键KEY1KEY2,实现系统所需的所有控制操作。

每个按键支持四种控制模式,分别如下:

    (1)短按

按键按下时间小于500ms。

    (2)长按

按键按下时间大于等于500ms

    (3)按键保持按下

按键按下时间大于等于500ms且保持不松手。

    (4)按键保持松开

这种是默认状态,没有特殊逻辑处理。

这几种控制模式在5. OLED中会详细描述。

  1. LED

LED逻辑在一个周期为100ms的任务中执行。

1)LED主要用于显示系统是否在正常工作,绿色LED使用PWM控制周期性明暗交替变化。

2)当闹钟响应之后,PWM控制红色LED周期性明暗交替变化,绿色LED熄灭。

3)闹钟取消之后,绿色LED继续周期性明暗交替变化。

  1. NTP网络校时

NTP任务周期为100ms。

任务创建之后,先初始化RTC导入默认日历时间,之后进入NTP校时任务。

任务逻辑如下:

    (1)如果“网络校时”功能使能,如果网络连接成功,则获取NTP时间对本地RTC日历进行校准;

    (2)如果“网络校时”功能使能,如果网络连接未成功,则等待网络连接;

    (3)如果“网络校时”功能禁能,则不获取网络时间;

    (4)如果“网络校时”功能由禁能变为使能,则立即获取网络时间对本地RTC日历进行校准。

  1. 闹钟

闹钟任务周期为1s。

该作品支持最多设置10个闹钟。每个闹钟可能进行时间(小时,分钟)设置,使能/技能设置,星期一~星期天使能/技能设置

功能支持如下:

1)如果闹钟使能且未设置任何一个星期使能(即星期一到星期天都未使能),则闹钟是单次播报,一旦闹钟激活了之后就会设置为禁能状态;

2)如果闹钟使能且使能了星期一到星期天中的任意一个或者多个,则闹钟为以星期为单位的周期性工作。如果使能了星期一到星期天,则闹钟每天都会工作;

3)如果闹钟禁能,则被禁能的闹钟不工作;

4)如果使能了多个闹钟,则多个闹钟都会工作,相互独立;

5)任务创建后,会周期性扫描设定的闹钟时间是否到达,如果设定的闹钟时间到达,则播放闹钟音乐,控制红色LED周期性明暗交替变化;

6)如果闹钟工作期间按下了任意一个按键(无论长按还是短按),则停止闹钟播报;

7)闹钟激活之后会开始计时,如果连续5分钟没有被手动关闭,则自动关闭。

  1. 物联网数据交互

物联网数据交互任务的周期为1s。

物联网平台使用了阿里云的飞燕平台,主要用于用于远程控制“网络闹钟”,所有的web设置项会和本地设置进行实时同步。

IoT web控制界面如下图所示。

    (1)网络校准使能:使能或者禁能NTP功能,当NTP功能从禁能切换为使能时会自动校准一次时间;

    (2)音量百分比:调节音量百分比(0-100);

    (3)按键音效:使能或者禁能按键音效功能;

    (4)报时:使能或者禁能报时功能(报时功能只支持早上九点到下午六点整点报时);

    (5)设置时间:手动设置时间,如果“网络校时”功能为禁能状态才有效,否则设置无效;

    (6)城市代码:设置获取天气信息的城市代码,需要保证天气城市代码有效,天气城市代码可以参考该网址:https://blog.csdn.net/mxh3600/article/details/121580770

    (7)闹钟设置:

    • 选择闹钟:选择对哪个闹钟进行设置,可选值为1-10;
    • 闹钟使能:使能或者禁能闹钟功能;
    • 闹钟时间:设置闹钟激活时间;
    • 闹钟报时周期选择:选择是否以星期为单位,周期性激活闹钟,选择任何一个或者多个星期(星期一到星期天)使能,则到达每个星期当天指定时间之后闹钟都会激活,如果星期一到星期天都禁能,则闹钟只会激活一次。

image-20220604122618-7.jpeg  

  1. 天气获取

获取天气的任务周期为1s。

任务创建好了之后会进入准备获取天气信息。

1)如果NTP使能了,则等待NTP获取成功之后再获取天气信息;

2)如果NTP禁能了,则等待网络连接成功之后再获取天气信息;

3)当第一次天气信息获取成功之后,每一次小时获取一次天气信息,以满足实时更新最新天气的需求。

获取天气使用了GET方式,获取指定http天气信息,获取的是实时天气,网址为:https://www.nowapi.com/api/weather.today

该平台提供三个月的免费试用,一小时最多可以获取20次。

获取的JSON示例如下图,通过对JSON数据的解析,提取出当前天气信息,当前温度湿度信息,本日天气信息,本日温度信息等。

     image-20220604122618-8.png  

  1. 喇叭

喇叭任务的周期为100ms,用于播放闹钟音乐,按键音效,音量调节音效,系统启动欢迎语音。

实现功能如下:

    (1)当系统启动时,播放欢迎“您好的语音”;

    (2)当闹钟激活之后,喇叭播放闹钟音效;

    (3)如果“音效”使能,则每一次按键按下都会播放按键音效;

    (4)如果正在调节“音量”,则音量调节完毕会播放音效;

    (5)音量大小可以在“设置”界面或者物联网控制调节;

    (6)如果“报时”使能,报时功能支持早上九点到下午六点整点报时,如果禁能,不报时。

  1. OLED

OLED一共会显示九种不同的界面,分别如下:

    (1)时间显示界面

时间显示界面会显示如下信息:

  •     Wifi连接状态。如果没有连接网络,左上角wifi图标会一直处于闪烁状态;连接wifi成功,则wifi图标常亮; 
  •    ②闹钟使能状态。如果没有任何一个闹钟打开,不显示闹钟图标;如果有任意一个闹钟打开了,显示闹钟图标; 
  •     ③物联网连接状态。如果物联网平台连接失败,IoT图标将处于闪烁状态;如果连接物联网平台成功,则IoT图标常亮;
  •    ④天气与温湿度信息。如果没有获取到天气,则显示“未知”;如果成功获取到了天气,则显示实时天气信息以及实时温湿度信息,天气信息与温湿度信息交替显示。
  •    ⑤时间显示。显示实时时间,从RTC获取实时时间并显示出来。

在该界面下,短按“KEY1”进入“菜单界面”

image-20220604122618-9.png    image-20220604122618-10.png  

    (2)菜单显示界面

菜单显示界面会显示如下菜单:

    • 设置图标:选中之后长按“KEY1”或者“KEY2”进入“设置界面”,短按“KEY1”光标跳转到“Wifi配网图标”,短按“KEY2”光标跳转到“退出图标”;
    • Wifi配网图标:选中之后长按“KEY1”或者“KEY2”进入“WIFI配网界面”,短按“KEY1”光标跳转到“天气图标”,短按“KEY2”光标跳转到“设置图标”;
    • 天气图标:选中之后长按“KEY1”或者“KEY2”进入“天气显示界面”,短按“KEY1”光标跳转到“退出图标”,短按“KEY2”光标跳转到“WIFI配网界面”;
    • 退出图标:选中之后长按“KEY1”或者“KEY2”退回“时间显示界面,短按“KEY1”光标跳转到“设置图标”,短按“KEY2”光标跳转到“天气图标”。

image-20220604122618-11.png  

    (3)设置显示界面

设置界面分为三页显示分别如下:

第一页显示:

    • 闹钟:选中之后长按“KEY1”或者“KEY2”进入“闹钟选择界面”,短按“KEY1”光标跳转到“音量以及音量百分比”,短按“KEY2”光标跳转到“退出”;
    • 音量以及音量百分比:选中之后长按“KEY1”并保持音量增加,选中之后长按“KEY2”并保持音量减小,短按“KEY1”光标跳转到“音效以及音效使能状态”,短按“KEY2”光标跳转到“闹钟”;
    • 音效以及音效使能状态:如果当前为禁能状态,长按“KEY1”或者“KEY2”按键音效切换为使能状态;如果当前为使能状态,选中之后长按“KEY1”或者“KEY2”按键音效切换为禁能状态;短按“KEY1”光标跳转到“报时以及使能状态”,短按“KEY2”光标跳转到“音量以及音量百分比”;

image-20220604122618-12.png  

第二页显示:

    • 报时以及使能状态:如果当前为禁能状态,选中之后长按““KEY1”或者“KEY2”报时功能切换为使能状态;如果当前为使能状态,选中之后长按“KEY1”或者“KEY2”报时功能切换为禁能状态,短按“KEY1”光标跳转到“音效以及音效使能状态”,短按“KEY2”光标跳转到“联网校时以及使能状态”;
    • 联网校时以及使能状态:如果当前为禁能状态,选中之后长按“KEY1”或者“KEY2”NTP校时功能切换为使能状态;如果当前为使能状态,选中之后长按“KEY1”或者“KEY2”NTP校时功能切换为禁能状态;短按“KEY1”光标跳转到“时间”,短按“KEY2”光标跳转到“报时以及使能状态”;
    • 时间:选中之后长按“KEY1”或者“KEY2”进入“手动设置时间界面”,短按“KEY1”光标跳转到“城市”,短按“KEY2”光标跳转到“联网校时以及使能状态”;

image-20220604122618-13.png  

第二页显示:

    • 城市:选中之后长按“KEY1”或者“KEY2”进入“天气城市代码设置界面”,短按“KEY1”光标跳转到“退出”,短按“KEY2”光标跳转到“时间”;
    • 退出:选中之后长按“KEY1”或者“KEY2”退出“菜单显示界面”,短按“KEY1”光标跳转到“闹钟”,短按“KEY2”光标跳转到“城市”;

image-20220604122618-14.png  

    (4)Wifi配网界面

注:对于WiFi名字以及密码设置时,为了简化输入逻辑,使用两个按键分别表示ascii的高位和低位用于输入,可以实现标准ASCII码所有可打印字符的输入,“KEY2”对应ASCII十六进制的高位,“KEY1”对应的是ASCII的十六进制的低位,短按“KEY2”高位ASCII加一,短按“KEY1”低位ASCII加一,可打印的ASCI字符为0x20-0x7E,所以wifi名字和密码只支持ASCII上的可打印字符,不支持中文以及其他复杂字符,所以连接的路由器名字以及密码需要为常见字符才行。在对密码以及wifi名设置时,左上角会显示当前ASCII十六进制数,方便查看,详细操作见视频。

Wifi配网会显示三个页面,分别如下:

    • Wifi名以及其长度设置页面:光标在名字长度上时,短按“KEY1”长度加1,短按“KEY2”长度减1;长按“KEY1”切换到名字设置的第一个字符上,如果光标处于最后一个wifi名字符上时,长按“KEY1”切换到“wifi密码长度设置”,如果光标在“名字长度”上时,长按“KEY2”光标切换到“退出”,如果光标在第一个名字字符上,长按“KEY2”光标切换到“wifi名字长度”上。

Wifi名设置时,两个按键短按组合为ASCII值,方便设置;长按“KEY2”切换上一个字符,长按“KEY1”切换下一个字符,详细操作见视频。

注:WiFi名字长度最多支持32位,最少1位。

image-20220604122618-15.png  

    • Wifi密码以及其长度设置界面:光标在密码度上时,短按“KEY1”长度加1,短按“KEY2”长度减1;长按“KEY1”切换到密码设置的第一个字符上,长按“KEY2”光标切换到“wifi名”设置的最后一个字符上。

Wifi密码设置时,两个按键短按组合为ASCII值,方便设置;长按“KEY2”切换上一个字符,如果当前光标在第一个密码字符上,长按“KEY2”光标切换到“密码长度”上,长按“KEY1”切换下一个字符,当光标处于最后一个密码字符时,长按“KEY1”会切换到“退出”,详细操作见视频。

注:密码最多支持64位,最少8位或者0位(表示没有密码)。

image-20220604122618-16.png  

    • Wifi密码设置界面以及退出界面。

当光标在“退出”上时,短按“KEY1”或者“KEY2”退回到“菜单显示界面”,长按“KEY1”光标切换到“wifi名字长度”,长按“KEY2”光标切换到“密码”最后一个字符上。

image-20220604122618-17.png  

 

注:Wifi配置这块做的有些许繁琐,因为w800没有ap功能,如果有ap功能,可以简化一些流程,做成这种方式可以连接绝大部分的路由器,并且只需要配网一次,下次上电无需再次配网会自动连接。

 

    (5)天气信息显示界面

天气显示界面会滚动显示今日天气,今日温度范围,当前天气,当前温度,当前湿度等信息。

按下任何按键(无论长按,短按)均会退回到“菜单显示界面”。

image-20220604122618-18.png          

image-20220604122618-19.png  

    (6)闹钟选择界面

在闹钟选择界面中有4个可选项,如下图:

    • <:光标在此处时,短按“KEY1”光标切换到“闹钟选择”,短按“KEY2”光标切换为“退出”,长按“KEY1”或者“KEY2”切换为上一个闹钟;“<”后面的数字为第几个闹钟,范围为01-10。
    • 闹钟选择:光标在此处时,短按“KEY1”光标切换到“>”,短按“KEY2”光标切换为“<”,长按“KEY1”或者“KEY2”切换到“闹钟详细设置界面”;
    • >:光标在此处时,短按“KEY1”光标切换到“退出”,短按“KEY2”光标切换为“闹钟选择”,长按“KEY1”或者“KEY2”切换为下一个闹钟;
    • 退出:光标在此处时,短按“KEY1”光标切换到“<”,短按“KEY2”光标切换为“>”,长按“KEY1”或者“KEY2”退回到“设置显示界面”;

image-20220604122618-20.png  

    (7)闹钟详细设置界面

可设置项为“<”,“>”,“时”,“分”,“开关”,“一”,“二”,“三”,“四”,“五”,“六”,“日”,“退出”。

短按“KEY1”,光标会切换到下一个可设置项上;

短按“KEY2”,光标会切换到上一个可设置项上;

长按“KEY1”或者“KEY2”或者按住保持所设置内容有所区别。

当光标处于不同的设置项上时,设置内容不一样,如下进行说明:

“<”:长按“KEY1”或者“KEY2”切换到上一个闹钟;

“>”:长按“KEY1”或者“KEY2”切换到下一个闹钟;

“时”:长按“KEY1”并保持闹钟时持续性加一,长按“KEY2”并保持闹钟时持续性减一;

“分”:长按“KEY1”并保持闹钟分持续性加一,长按“KEY2”并保持闹钟分持续性减一;

“开关”:当显示为“关”时,长按“KEY1”或者“KEY2”变为“开”,表示闹钟使能;当显示为“开”时,长按“KEY1”或者“KEY2”变为“关”,表示闹钟禁能;

“一”:当显示为禁能时,长按“KEY1”或者“KEY2”变为使能,表示闹钟使能了每周一指定时间都激活;当显示为使能时,长按“KEY1”或者“KEY2”变为禁能;

“二”:当显示为禁能时,长按“KEY1”或者“KEY2”变为使能,表示闹钟使能了每周二指定时间都激活;当显示为使能时,长按“KEY1”或者“KEY2”变为禁能;

“三”:当显示为禁能时,长按“KEY1”或者“KEY2”变为使能,表示闹钟使能了每周三指定时间都激活;当显示为使能时,长按“KEY1”或者“KEY2”变为禁能;

“四”:当显示为禁能时,长按“KEY1”或者“KEY2”变为使能,表示闹钟使能了每周四指定时间都激活;当显示为使能时,长按“KEY1”或者“KEY2”变为禁能;

“五”:当显示为禁能时,长按“KEY1”或者“KEY2”变为使能,表示闹钟使能了每周五指定时间都激活;当显示为使能时,长按“KEY1”或者“KEY2”变为禁能;

“六”:当显示为禁能时,长按“KEY1”或者“KEY2”变为使能,表示闹钟使能了每周六指定时间都激活;当显示为使能时,长按“KEY1”或者“KEY2”变为禁能;

“日”:当显示为禁能时,长按“KEY1”或者“KEY2”变为使能,表示闹钟使能了每周日指定时间都激活;当显示为使能时,长按“KEY1”或者“KEY2”变为禁能;

“退出”:长按“KEY1”或者“KEY2”退回到“闹钟选择界面”;

     image-20220604122618-21.png       

(8)手动设置时间界面

  • 如果“网络校时”功能为使能状态,则不能进行手动设置时间,会显示“NTP已启用的提示信息”,一秒后自动退回到“设置界面”。

image-20220604122618-22.png  

    • 如果“网络校时”功能为禁能状态,则进入手动时间设置界面,如下图:

         image-20220604122618-23.png  

手动设置可以设置“时”,“分”,“秒”,“年”,“月”,“日”“退出”;

长按“KEY1”光标切换到下一个设置项,长按“KEY2”光标切换到上一个设置项;

当光标处于时间设置项上时,短按“KEY1”时间加一,短按“KEY2”时间减一;

当光标处于“退出”时,短按“KEY1”或者“KEY2”退回到“设置界面”。

 

(9)天气城市代码设置界面

城市代码设置界面主要用于设置获取天气所需要的城市代码,城市代码可以参考:https://blog.csdn.net/mxh3600/article/details/121580770

城市代码只支持数字,为9位长度的数字。

长按“KEY1”光标切换到下一个数字;

长按“KEY2”光标切换到上一个数字;

当光标在数字上时,短按“KEY1”数字加一,短按“KEY2”数字减一;

当光标在“退出”上时,短按“KEY1”或者“KEY2”退回到“设置界面”,长按“KEY1”光标切换到城市代码的最后一个数字上,长按“KEY2”光标切换到城市代码的第一个数字上。

         image-20220604122618-24.png  

  1. KV

KV没有单独的任务,主要用于其他模块使用用来保存数据,掉电不丢失。

会记录如下数据到KV空间保存:

  1. 音量百分比
  2. 按键音效使能状态
  3. 报时使能状态
  4. NTP网络校时功能使能状态
  5. 天气城市代码
  6. Wifi名长度
  7. Wifi名字字符串
  8. Wifi密码长度
  9. Wifi密码字符串
  10. 闹钟1~闹钟10的时间,使能状态,使能星期等设置信息
  11. 初始化状态:主要用于记录上述(1)-(10)中的配置项是否已经记录在KV中,用于上电时加载默认配置。如果没有记录在KV中装载默认值,记录在了KV中则读取存储的值。
  1. RTC

RTC没有单独的任务。上电时自动初始化加载初始设定值,如果NTP或者手动时间或者Web更新了时间,则重新装载设置值到RTC。

 

五、作品源码

作品上传到了gitee,链接:https://gitee.com/hehung/NetworkClock

注:源码中修改了库文件,所以库文件一起上传了,如果需要测试这个程序,需要下载整个文件包,下载下来直接编译运行即可。

源码文件结构:

app_alarm.c, app_alarm.h: 闹钟处理程序

app_display.c, app_display.h: OLED屏幕显示处理程序以及切换逻辑

app_iot.c, app_iot.h: 物联网处理逻辑

app_key.c, app_key.h: 按键处理逻辑

app_kv.c, app_kv.h: 设置存储逻辑

app_main.c: 主函数入口

app_oled.c, app_oled.h: OLED显示逻辑驱动程序,字符显示,汉字显示,字符串显示,数字显示等

app_oled_bmp.h: 显示的图片数组

app_oled_Font.h: 显示的文字数组,汉字,ASCII码等

app_player.c, app_player.h: 喇叭播放器处理程序

app_rgb.c, app_rgb.h: RGB LED处理逻辑

app_rtc.c, app_rtc.h: RTC以及NTP处理逻辑

app_weather.c, app_weather.h: 天气信息处理逻辑

Oled_drv.c, oled_drv.h: OLED SPI驱动程序,来自官方,有自己的小改动

Mp3_hex.h:

image-20220604122618-25.jpeg  

 

 

 

六、视频演示

视频将演示具体如何操作网络闹钟作品。

视频上传到了bilibili,链接为:https://www.bilibili.com/video/BV1dr4y1G7yP/

 

七、项目总结

这是我第一次接触平头哥的板子,初次看到这个板子的时候,感觉设计的很精美,遂申请了该比赛。虽然开发过程中遇到了一些问题,但最后都在平头哥小二的帮助下解决了。历经三个月的时间,完成了对开发板资源的了解与实践,最终完成了该作品,算是对学习该开发板的一个总结,也让我对平头哥的板子有了深入的了解,希望越做越好。感谢EEWORLD与平头哥的支持。

帖子分享链接:

【平头哥RVB2601创意应用开发】1. 开箱啦 https://bbs.eeworld.com.cn/thread-1195813-1-1.html

【平头哥RVB2601创意应用开发】2. 试试控制板载RGB http://bbs.eeworld.com.cn/thread-1195828-1-1.html

【平头哥RVB2601创意应用开发】3. 板载按键实验 https://bbs.eeworld.com.cn/thread-1195831-1-1.html

【平头哥RVB2601创意应用开发】4. 运用RTC来记录时间http://https://bbs.eeworld.com.cn/thread-1195848-1-1.html

【平头哥RVB2601创意应用开发】5. 解决W800有时候连不上网的问题 https://bbs.eeworld.com.cn/thread-1205623-1-1.html

【平头哥RVB2601创意应用开发】6. 获取天气信息http://https://bbs.eeworld.com.cn/thread-1205624-1-1.html

【平头哥RVB2601创意应用开发】7. 物联网控制 https://bbs.eeworld.com.cn/thread-1205711-1-1.html

 

八、其他

说说开发过程中遇到的一些编译器上的问题吧:

  1. CDK开发调试及其不方便,有一些快捷键不能使用,函数跳转失效,按照论坛的帖子操作之后还是不行,之后便使用VSCode编辑代码,CDK编译下载;
  2. 说说目前CDK还存在的问题,主要是代码编译时很多错误识别出来之后不指定具体错误,只是会报编译失败,导致找错花费大量时间:
    1. 使用了未定义的变量;
    2. 使用了其他.h文件中的函数,但是没有包含.h文件;
    3. 代码结束未加分号;
    4. 静态函数为声明且在定义之前被调用;
    5. 调用函数时,参入的参数数量不对。

 

    在word上写得文档在这里格式有些对不上,所以word文档也直接上传,见附件。

1_平头哥RVB2601活动作品提交-网络时钟-hehung.doc (2.91 MB)
(下载次数: 4, 2022-6-4 12:45 上传)

 

 

本帖最后由 hehung 于 2022-6-4 12:45 编辑

回复评论 (2)

帖子写得非常好,希望拿奖,一鸣惊的人才子,继续加油!
点赞  2022-6-4 20:57
引用: lugl4313820 发表于 2022-6-4 20:57 帖子写得非常好,希望拿奖,一鸣惊的人才子,继续加油!

谢谢

点赞  2022-6-5 09:52
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复