完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、来源
首先这个项目是开源代码,全部来自网络(来源我也会放出来),当然我希望把这个项目扩展开来,怎么扩展,后面再讲。 最初从b站看到一个视频 应该是一个英国老哥搞的 NWATCH-WATCHX B站链接:https://b23.tv/ph7jgv 后来一个国内的大佬移植到了stm32上面,他写了f4和f1两个版本 github链接: https://github.com/Soysauce007/WatchX-Nwatch-stm32/ 如果手上有正点原子mini板,又不想改代码的同学移步文章最后,有可直接运行的工程代码。 二、项目介绍 1.代码讲解 整体程序还是很庞大的,主要分几个部分做简单的介绍 1.硬件模块 CPU:stm32f103c8t6 0.96寸OLED SPI通信 按键 蜂鸣器 外部时钟芯片 led灯 但是在我的板子是stm32f103rct6 ,就是正点原子的mini板 ,当中没有蜂鸣器和外部时钟芯片,而且有些功能我也不需要,比如rtc时钟,原因后面说。 因此按照大佬的注释,我删减了部分代码,修改了部分硬件初始化。 初始化代码如下(示例): void c_setup() { SystemInit(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(); //初始化延时函数 #if COMPILE_UART uart_init(UART_BAUD); //初始化串口波特率为115200 #endif memset(&oledBuffer, 0x00, FRAME_BUFFER_SIZE); OLED_Init(); //初始化oled 四线模拟spi模式 led_init(); //初始化LED PA8 PA15 battery_init(); //ADC初始化 PA0 必要的模块 appconfig_init(); alarm_init(); //依旧无法储存闹钟,每次重启以后需要自定义 buttons_init(); //按键初始化 millis_init(); //定时器 time_init(); //启动手表时钟 display_set(watchfaceOpen); display_load(); OLED_ColorTurn(appConfig.invert ); } 循环代码如下: void c_loop() { time_update(); if(pwrmgr_userActive()) { battery_update(); buttons_update(); } led_update(); #if COMPILE_STOPWATCH stopwatch_update(); #endif if(pwrmgr_userActive()) { alarm_update(); display_update(); } } 3.项目的扩展 1.加入蓝牙模块 我想做成小米手环那样的,可以连接手机app,手机的app给板子做时间的校准,再加入天气和温度。 最关键,我想加入换壁纸功能。思路:手机app打开一张图,先做二值化和压缩处理,这里可能需要局部二值化,因为我试过,全局二值化效果不好。 2.结构 他们做的都是手表,我觉得市面上的手环功能比这个做的确实还是强多了,和他们做对比不合适,我打算做成桌面摆件那样的。摆在办公桌子上那种。 这样的话那么我会再设计机构,初步打算用亚克力板包裹pcb板的方式做个初步的先试试。 这样的话,其实功能还可以添加很多,比如显示电脑cpu的运行情况,消息通知,电脑本次开机以来的使用时间,甚至做蓝牙鼠标也不错。 3.当然是再加些游戏啦,像什么贪吃蛇,俄罗斯方块都可以加上去。 最后 1.我的代码 另外我放出了我的stm32f103rct6 (正点原子mini板)的完整工程,已经调试通过,同时readme。txt写了oled的io定义 ,同学们插上oled,就可以用自带的按键进行操作。 代码链接:https://download.csdn.net/download/qq_40525440/13115229 2.展望 我后续会更新我的工程进展,把我说的做出来,有兴趣的关注。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1752 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1611 浏览 1 评论
1052 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1666 浏览 2 评论
1926浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
711浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
560浏览 3评论
584浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 20:40 , Processed in 0.808590 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号