本项目基于DShanMCU-R128s2-DevKit开发,用意是提供一个综合的示例进行学习参考。
本项目基于ZakKemble的开源项目-NWatch,GitHub仓库地址:https://github.com/ZakKemble/NWatch
与原作者的NWatch不一样的是,将其移植到DShanMCU-R128s2-DevKit开发板新窗口打开上,同时相比于原作者添加了一些功能,比如恢复出厂设置功能,后续有时间会慢慢增加更多的功能。
#运行效果
#硬件准备
DShanMCU-R128s2-DevKit开发板
EC11旋转编码器模块
红外接收模块+红外遥控器
无源蜂鸣器模块
DHT11温湿度模块
#源码获取
仓库源码:
Gitee:https://gitee.com/weidongshan/100ask_r128_demos/tree/master/nwatch
GitHub:https://github.com/100askTeam/100ask_r128_demos/tree/master/nwatch
#固件获取
如果你不想自己编译或者不需要二次开发,那么可以从这里获取固件,烧写固件到DShanMCU-R128s2-DevKit后开机会自动启动NWatch任务,如果没有自动启动在串口终端输入命令然后按回车即可:nwatch_100ask 3。模块接线请阅读模块接线小节。
Releases获取:
Gitee:https://gitee.com/weidongshan/100ask_r128_demos/releases/tag/v0.0.1
GitHub:https://github.com/100askTeam/100ask_r128_demos/releases/tag/v0.0.1
#二次开发
#修改 sys_config.fex
打开R128-S2-SDK/board/r128s2/pro/configs/sys_config.fex,进行如下的修改:
IIC引脚配置:
[twi1] twi1_sck = port:PB00<3><1>twi1_sda = port:PB01<3><1>
PWM配置:
[pwm6] pwm_used = 1 pwm_positive = port:PA26<4><0><2>
#添加100ask_r128_demos
从git仓库获取源码:
Gitee:https://gitee.com/weidongshan/100ask_r128_demos/tree/master/nwatch
GitHub:https://github.com/100askTeam/100ask_r128_demos/tree/master/nwatch
clone仓库或者下载仓库压缩包到本地,并将仓库目录放在sdk的这个目录下面:
R128-S2-SDK/lichee/rtos-components/thirdparty/100ask_r128_demos
一定要确保文件夹名称是100ask_r128_demos
打开文件R128-S2-SDK/lichee/rtos-components/thirdparty/Makefile进行编辑,在文件的最后面或最前一行加入下面的内容:
obj-$(CONFIG_COMPONENTS_100ASK_R128_DEMOS) += 100ask_r128_demos/
打开文件R128-S2-SDK/lichee/rtos-components/thirdparty/Kconfig进行编辑,在文件的最后或最前一行加入下面的内容:
source components/common/thirdparty/100ask_r128_demos/Kconfig
#配置menuconfig
执行mrtos_menuconfig进入到下面所示的位置进行配置:
选择载入 r128s2_module_c906 方案,并进入 menuconfig:
$ source envsetup.sh $ lunch_rtos 1 $ mrtos_menuconfig
打开IIC:
System components ---> Drivers Options ---> soc related device drivers ---> TWI Devices ---> -*- enable twi driver [ ] enable twi hal APIs test command
打开PWM:
System components ---> Drivers Options ---> soc related device drivers ---> PWM devices ---> [*] enable pwm driver [ ] enable pwm hal APIs test command
打开GPIO及其中断:
System components ---> Drivers Options ---> soc related device drivers ---> GPIO devices ---> [*] enable GPIO driver [ ] enable gpio hal APIs test command [ ] enable gpio chip aw9523 [*] enable amp gpio irq
配置 100ask_r128_demos:
System components ---> thirdparty components ---> USE 100ask_r128_demos ---> --- USE 100ask_r128_demos [*] USE USE_100ASK_MODULE_DRIVER ---> [*] USE USE_100ASK_MODULE_DRIVER_IIC_OLED ---> [ ] USE USE_100ASK_MODULE_DRIVER_SPI_LCD ---- [*] USE USE_100ASK_MODULE_DRIVER_PASSIVE_BUZZER ---> [*] USE USE_100ASK_MODULE_DRIVER_ROTARY_ENCODER ---- [*] USE USE_100ASK_MODULE_DRIVER_IR_RECEIVER ---> [*] USE USE_100ASK_MODULE_DRIVER_SPI_FLASH ---> [*] USE USE_100ASK_MODULE_DRIVER_DHT11 ---- [ ] 100ask lvgl desktop [*] NWatch demo ......
#开机启动
如果省略这一步,那么在开机之后,在串口终端输入命令然后按回车运行 NWatch 任务:nwatch_100ask 3
如果需要开机自启动 NWatch 任务,按照如下步骤操作:
打开R128-S2-SDK/lichee/rtos/projects/r128s2/pro_c906/src/main.c,文件
在main函数中如下位置添加如下代码:
void cpu0_app_entry(void *param) { ...... #ifdef CONFIG_NWATCH_100ASK int argc = 2; char *argv[] = { "nwatch_100ask", "3", }; nwatch_100ask_main(argc, argv); #endif vTaskDelete(NULL); }
最后,编译、打包:mrtos && pack
编译出来的镜像存放位置:R128-S2-SDK/out/r128s2/pro/rtos_freertos_r128s2_pro_uart0_16Mnor.img
通过烧写工具将其烧写到开发板上,下一步,对各个模块进行接线。
#模块接线
IIC OLED模块接线:
SCK ------- PB00 SDA ------- PB01
EC11旋转编码器接线:
S1 ------- PA24 S2 ------- PA25 KEY ------- PA29
蜂鸣器模块接线:
BEEP DATA PIN ------- PA26
红外接收模块接线:
IR DATA PIN ------- PA10
DHT11模块:
DHT11 DATA PIN ------- PA6
审核编辑:汤梓红
-
开源
+关注
关注
3文章
3243浏览量
42378 -
开发板
+关注
关注
25文章
4933浏览量
97157 -
智能手表
+关注
关注
36文章
3273浏览量
113745 -
GitHub
+关注
关注
3文章
466浏览量
16380
原文标题:NWatch(DIY智能手表)
文章出处:【微信号:baiwenkeji,微信公众号:百问科技】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论