在线时间1291 小时
UID3124330
注册时间2015-11-26
NXP金币1351
TA的每日心情 | 开心 2019-3-5 08:47 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
金牌会员
 
- 积分
- 8823
- 最后登录
- 2025-3-21
|
本帖最后由 jundao721 于 2021-12-28 11:18 编辑
年底都是总结的日子,都想整几个可以吹牛的项目,最终还是要回归平静慢慢积淀。学习使用U8g2的库时间比较短,没想好做点啥。昨天路过桥底下,看到某酒店的广告牌,想想做个广告牌也能练练手。说干就干,拿板子接线,移植库文件,做个动态的心形边框,广告语放到中间,暧昧。
u8g2暂时使用层面就是移植,然后选择调用相应的函数,来实现想法。正好手头还有几个OLED的测试屏,虽然小点,不影响显示效果。仔细想想其实可扩展性还是挺高的,缺乏的还是想法。
主要实现方法如下代码:
- //实现循环显示图案
- u8g2_ClearBuffer(&u8g2);
- for(heart=0;heart<110;heart+=20)//横x
- {
- u8g2_SetFont(&u8g2,u8g2_font_open_iconic_human_2x_t);
- u8g2_ClearBuffer(&u8g2);
- u8g2_DrawGlyph(&u8g2,10+heart,15,66);
- u8g2_SendBuffer(&u8g2);
- u8g2_SetFont(&u8g2,u8g2_font_ncenB10_tr);
- u8g2_DrawStr(&u8g2,25,30,lcdchar );
- u8g2_SendBuffer(&u8g2);
- Delay_nms(0xAFFFF);
- }
- for(heart=0;heart<60;heart+=15)//竖y
- {
- u8g2_SetFont(&u8g2,u8g2_font_open_iconic_human_2x_t);
- u8g2_ClearBuffer(&u8g2);
- u8g2_DrawGlyph(&u8g2,110,15+heart,66);
- u8g2_SendBuffer(&u8g2);
- u8g2_SetFont(&u8g2,u8g2_font_ncenB10_tr);
- u8g2_DrawStr(&u8g2,25,30,lcdchar );
- u8g2_SendBuffer(&u8g2);
- Delay_nms(0xAFFFF);
- }
- for(heart=0;heart<110;heart+=20)
- {
- u8g2_SetFont(&u8g2,u8g2_font_open_iconic_human_2x_t);
- u8g2_ClearBuffer(&u8g2);
- u8g2_DrawGlyph(&u8g2,110-heart,60,66);
- u8g2_SendBuffer(&u8g2);
- u8g2_SetFont(&u8g2,u8g2_font_ncenB10_tr);
- u8g2_DrawStr(&u8g2,25,30,lcdchar );
- u8g2_SendBuffer(&u8g2);
- Delay_nms(0xAFFFF);
- }
- for(heart=0;heart<60;heart+=15)
- {
- u8g2_SetFont(&u8g2,u8g2_font_open_iconic_human_2x_t);
- u8g2_ClearBuffer(&u8g2);
- u8g2_DrawGlyph(&u8g2,10,60-heart,66);
- u8g2_SendBuffer(&u8g2);
- u8g2_SetFont(&u8g2,u8g2_font_ncenB10_tr);
- u8g2_DrawStr(&u8g2,25,30,lcdchar );
- u8g2_SendBuffer(&u8g2);
-
- Delay_nms(0xAFFFF);
- }
复制代码
实现效果如下:
|
-
|