我用CH579做了个假手表 |
您所在的位置:网站首页 › ad21怎么编译原理图 › 我用CH579做了个假手表 |
1、项目背景 2021年8月份的时候评估CH579,觉着这个芯片不错,资源丰富,开发还特别简单,使用CH579开发完门禁项目后总觉得还没过瘾,就用CH579做了个评估板。那段时间交流群里面一直在讨论做手表,所以我就开始用CH579做个假手表。 为什么是假手表呢,首先做真手表的意义不大,因为我只是评估CH579芯片的外设和资源不足以做真手表,而我这里只需要用到LCD,ADC,按键,串口等,买个原型LCD,做成手表的外形,顺其自然。 最重要的是要送几个给做技术的好友,推荐他们用用CH579。 2、硬件设计最近买了个电脑,11代i7配置不错,打开最新版AD21,开始愉快的硬件设计。 具体硬件明细如下。 2-1、原理图 CPU :CH579,配置请点击LCD:240*240,SPI接口USB toTTL:CP2102其他模块 2-2、具体设计电源电路:考虑到电池电压会低于3.4V还要工作,选择DCDC。充电电路:选择拓品的TP4055,电路很简单,价格很美丽,值得推荐。一键开关电路:低功耗设备,需要完全断电。LCD电路:中景园的1.28寸SPI接口,价格30内,背光记得可控,用于省电。USB to TTL电路:CP2102最近涨价到10块钱了,快用不起了,跳线接CH579两个串口,一个Log,一个用户。2-3、PCB放两张图吧 3、软件设计 下载官方SDK,开始撸码。3-1、软件 增加LED、KEY驱动,SDK自带的,只要使能即可: #ifndef HAL_KEY#define HAL_KEY TRUE#endif#ifndef HAL_LED#define HAL_LED TRUE #endif参考LED、写个LCD,更多参考源码: void HAL_LcdInit(void){ /* Initialize */ LCD_RST_DDR; LCD_DC_DDR; LCD_BK_DDR; GPIOA_SetBits(GPIO_Pin_12); GPIOA_ModeCfg(GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14, GPIO_ModeOut_PP_5mA); SPI0_MasterDefInit(); LCD_RES_Clr(); DelayMs(100); LCD_RES_Set(); DelayMs(100); LCD_Init(); LCD_BLK_Set();//打开看看刷新速度 LCD_ShowPicture(0, 0, 240, 240, gImage_2); DelayMs(500); LCD_Fill(0,0,240,240,WHITE); LCD_ShowChinese(30, 40, "送给最帅的人", RED, WHITE, 32, 1); LCD_ShowString(32, 80, "key num:", RED, WHITE, 16, 1); LCD_ShowString(32, 100, "Increaseing Num:", RED, WHITE, 16, 1);// LCD_BLK_Set(); PRINT("LCD init.\n");}蓝更改蓝牙名为Hello XB,并在蓝牙连上和断开地方增加LED指示和串口Log输出: // GAP Profile - Name attribute for SCAN RSP datastatic uint8 scanRspData[] ={ 0x09, // length of this data GAP_ADTYPE_LOCAL_NAME_COMPLETE, 'H', 'e', 'l', 'l', 'o', ' ', 'X', 'B',};4、效果演示视频拍不出效果,所以就不放了。 更多功能可以自己开发,例如: 提升SPI刷屏速度,移植LVGL按键切换界面等一键开关机显示进度等电量检测显示蓝牙相关信息显同步示 5、开源下载 公众号回复“手表”下载。谢谢关注,下期更精彩。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |