1、項(xiàng)目背景
2021年8月份的時候評估CH579,覺著這個芯片不錯,資源豐富,開發(fā)還特別簡單,使用CH579開發(fā)完門禁項(xiàng)目后總覺得還沒過癮,就用CH579做了個評估板。那段時間交流群里面一直在討論做
手表,所以我就開始用CH579做個假手表。
為什么是假手表呢,首先做真手表的意義不大,因?yàn)槲抑皇窃u估CH579芯片的外設(shè)和資源不足以做真手表,而我這里只需要用到LCD,ADC,按鍵,串口等,買個原型LCD,做成手表的外形,順其自然。
最重要的是要送幾個給做技術(shù)的好友,推薦他們用用CH579。
2、硬件設(shè)計(jì)
最近買了個電腦,
11代i7配置不錯,打開最新版AD21,開始愉快的硬件設(shè)計(jì)。
具體硬件明細(xì)如下。
2-1、原理圖
-
CPU :CH579,配置請點(diǎn)擊
-
LCD:240*240,SPI接口
-
USB toTTL:CP2102
-
其他模塊
2-2、具體設(shè)計(jì)
-
電源電路:考慮到電池電壓會低于3.4V還要工作,選擇DCDC。
-
充電電路:選擇拓品的TP4055,電路很簡單,價(jià)格很美麗,值得推薦。
-
一鍵開關(guān)電路:低功耗設(shè)備,需要完全斷電。
-
LCD電路:中景園的1.28寸SPI接口,價(jià)格30內(nèi),背光記得可控,用于省電。
-
USB to TTL電路:CP2102最近漲價(jià)到10塊錢了,快用不起了,跳線接CH579兩個串口,一個Log,一個用戶。
2-3、PCB
放兩張圖吧
3、軟件設(shè)計(jì)
下載官方SDK,開始擼碼。
3-1、軟件
-
增加LED、KEY驅(qū)動,SDK自帶的,只要使能即可:
#ifndef HAL_KEY#define HAL_KEY TRUE#endif#ifndef HAL_LED#define HAL_LED TRUE #endif
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");}
-
藍(lán)更改藍(lán)牙名為Hello XB,并在藍(lán)牙連上和斷開地方增加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、效果
演示視頻拍不出效果,所以就不放了。
更多功能可以自己開發(fā),例如:
-
提升SPI刷屏速度,移植LVGL
-
按鍵切換界面等
-
一鍵開關(guān)機(jī)顯示進(jìn)度等
-
電量檢測顯示
-
藍(lán)牙相關(guān)信息顯同步示
5、開源下載
公眾號回復(fù)“手表”下載。
-- END --
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。