找回密码
 立即注册
查看: 1392|回复: 24

OLED

[复制链接]
  • 打卡等级:常住居民I
  • 打卡总天数:75
  • 最近打卡:2025-01-05 14:16:57

30

主题

132

回帖

214

积分

中级会员

积分
214
发表于 2024-11-16 18:22:17 | 显示全部楼层 |阅读模式
试验箱 STC32G12K128    屏 0.96寸老款四针oled屏

只让屏亮,但程序一直编译不成


47187b101f48bf4f53d675dd2940630.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-03 00:02:01
已绑定手机

19

主题

3191

回帖

4876

积分

论坛元老

积分
4876
发表于 2024-11-16 18:41:14 来自手机 | 显示全部楼层
头文件忘记加了吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:460
  • 最近打卡:2025-05-03 07:38:35
已绑定手机
已实名认证

110

主题

2224

回帖

5470

积分

版主

积分
5470
发表于 2024-11-16 18:41:24 | 显示全部楼层
看报错似乎是定义重复,还有一个问题,你这主函数内调用其他的函数,有进行函数的声明嘛?
不声明是不行的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:154
  • 最近打卡:2025-04-30 08:40:57
已绑定手机

15

主题

630

回帖

730

积分

高级会员

积分
730
发表于 2024-11-16 19:18:45 来自手机 | 显示全部楼层
函数都没定义,就调用肯定不得行啊。你只倒入了自带库
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:75
  • 最近打卡:2025-01-05 14:16:57

30

主题

132

回帖

214

积分

中级会员

积分
214
发表于 2024-11-16 19:33:41 | 显示全部楼层
那如果只是想让屏幕亮,该如何去写程序
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:123
  • 最近打卡:2025-04-19 16:12:35
已绑定手机

60

主题

777

回帖

4001

积分

论坛元老

自定义头衔

积分
4001
发表于 2024-11-16 20:22:42 | 显示全部楼层
而且第13行的语法也是错误的,要去掉void
联系我请点击左下角的【回复】按钮,否则我收不到消息提
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:340
  • 最近打卡:2025-05-01 18:31:16

5

主题

23

回帖

1161

积分

金牌会员

积分
1161
发表于 2024-11-16 23:12:30 | 显示全部楼层
你写的是oled的驱动,单片机不是oled屏的开关,不是一个开显示函数就能亮屏的,你得从点灯开始,而且得学一些C语言的基础知识。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:495
  • 最近打卡:2025-05-03 07:45:19

30

主题

347

回帖

3484

积分

荣誉版主

积分
3484
发表于 2024-11-17 22:09:32 | 显示全部楼层
根据1楼的这张图片来看...
如果就这么一个 含有main()主函数,加上一个OLED_DisplayOn()函数, 就这么写的话,
当然是不够的....
OLED屏不是一供电就亮的, 是要有程序,要有逻辑地去驱动它,控制它才能亮的...
首先要搞清楚, 这4针的OLED显示屏是什么型号的, 是什么驱动芯片的.
比如SS1306等...
然后要找一下相关的配套文件, 一般有两个: 一个是头文件, 另外一个是函数实现文件,
比如 SS1306.H 和 SS1306.C
这其中有厂家提供的驱动函数, 特别是初始化的代码, 是制造厂家提供的, 虽说是有手册介绍,但几乎是不可能自己来编写的. 最多只能局部修改其中一点点参数.
再要将这两个文件, 加入到你的工程中来... (怎么包含,应该知道吧?...)
然后在其中有main()主函数的 main.c的文件中, 将它们包含进来...
就是要在程序文件的前部, 加上 #include  "SS1306.h" 这样的语句,
上图中显然没有, 这仅仅是刚完成了第一步....
在主函数中要先调用SS1306这屏的初始化函数, 则要根据头文件所说明的函数来用了...
比如:  IIC_SS1306_Init();
完成初始化以后, 接下来才能根据需要, 来使用所提供的各种控制函数, 如果没有,就要自己编写了....  
比如, 若已经有画点的函数, Point(....), 就可指定坐标, 显示点了....
......

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:75
  • 最近打卡:2025-01-05 14:16:57

30

主题

132

回帖

214

积分

中级会员

积分
214
发表于 2024-11-18 14:43:13 | 显示全部楼层
浦江*** 发表于 2024-11-17 22:09
根据1楼的这张图片来看...
如果就这么一个 含有main()主函数,加上一个OLED_DisplayOn()函数, 就这么写的话, ...

感谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:75
  • 最近打卡:2025-01-05 14:16:57

30

主题

132

回帖

214

积分

中级会员

积分
214
发表于 2024-11-18 15:42:15 | 显示全部楼层
浦江*** 发表于 2024-11-17 22:09
根据1楼的这张图片来看...
如果就这么一个 含有main()主函数,加上一个OLED_DisplayOn()函数, 就这么写的话, ...

SS1306.H 和 SS1306.C是找商家要吗,商家给我的我没发现有这。但我发现了这些
屏幕截图 2024-11-18 154049.png

点评

前文说SS1306.H和SS1306.C文件, 这只是一个比如... 具体文件名称各有不同,不是固定的。 上面10#楼截图中有四个文件: 第一个是图片文件,显示图片用的数组数据。不同的图片数组数据是不同的; 第二个文件就是关于显  详情 回复 发表于 2024-11-18 17:56
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 15:07 , Processed in 0.428224 second(s), 115 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表