OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8674|回复: 33

STM32通过VGA控制电脑显示屏

[复制链接]

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
发表于 2021-4-8 10:02:43 | 显示全部楼层 |阅读模式
1金钱
如何显示出来彩屏?目前调试出来的都是单色屏...

这个是目前调试出来的,只接了蓝线,如果接上别的线,全屏都变颜色了,看别人有的显示照片啥的 怎么弄的?

这个是目前调试出来的,只接了蓝线,如果接上别的线,全屏都变颜色了,看别人有的显示照片啥的 怎么弄的?

最佳答案

查看完整内容[请看2#楼]

无需芯片,用R-2R网络作为DAC。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-8 10:02:44 | 显示全部楼层
villain 发表于 2021-4-8 11:50
好的,我也是用的STM32F103c8t6,用DMA方式给屏幕发消息,控制的一根线,RGB芯片可以推荐给我几个吗?

无需芯片,用R-2R网络作为DAC。 傲游截图20210408120121.jpg
专治疑难杂症
回复

使用道具 举报

16

主题

77

帖子

0

精华

高级会员

Rank: 4

积分
508
金钱
508
注册时间
2020-6-6
在线时间
230 小时
发表于 2021-4-8 10:10:42 | 显示全部楼层
帮顶     
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 10:54:53 | 显示全部楼层
有大佬在吗?
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-8 11:28:41 | 显示全部楼层
本帖最后由 LcwSwust 于 2021-4-8 11:31 编辑

RGB了解一下,三路DAC分别接到R、G、B按照VGA时序输出即可显示照片。也可用16位IO口,接R-2R网络形成5位、6位、5位DAC,即可输出RGB565图像。
专治疑难杂症
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 11:45:14 | 显示全部楼层
LcwSwust 发表于 2021-4-8 11:28
RGB了解一下,三路DAC分别接到R、G、B按照VGA时序输出即可显示照片。也可用16位IO口,接R-2R网络形成5位、6 ...

大佬方便加个QQ什么的联系方式吗?上次就是遇到你帮我解决的问题
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-8 11:46:50 | 显示全部楼层
villain 发表于 2021-4-8 11:45
大佬方便加个QQ什么的联系方式吗?上次就是遇到你帮我解决的问题

不方便,有问题就在这问吧。
专治疑难杂症
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 11:50:30 | 显示全部楼层
LcwSwust 发表于 2021-4-8 11:46
不方便,有问题就在这问吧。

好的,我也是用的STM32F103c8t6,用DMA方式给屏幕发消息,控制的一根线,RGB芯片可以推荐给我几个吗?
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 12:32:04 | 显示全部楼层
LcwSwust 发表于 2021-4-8 12:02
无需芯片,用R-2R网络作为DAC。

谢谢大佬,我测试下试试。
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 12:46:46 | 显示全部楼层
LcwSwust 发表于 2021-4-8 11:46
不方便,有问题就在这问吧。

您好,您那边有示例吗?我这测试还是单色...
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-8 13:03:06 | 显示全部楼层
villain 发表于 2021-4-8 12:46
您好,您那边有示例吗?我这测试还是单色...

接了哪几个脚?输出的什么数据?
专治疑难杂症
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 13:21:33 | 显示全部楼层
LcwSwust 发表于 2021-4-8 13:03
接了哪几个脚?输出的什么数据?

刚才又尝试了1中方式 用PA1用定时器2,2通道输出列同步  PA8定时器1,1通道输出行同步,然后用PA7用SPI方式DMA输出数据,然后随便三个脚用MOS管通断的方式来控制RGB,理论只能输出6中颜色,但是都是一下满屏都变颜色了,数据后期想输出图片,文字字符等
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-8 13:30:07 | 显示全部楼层
villain 发表于 2021-4-8 13:21
刚才又尝试了1中方式 用PA1用定时器2,2通道输出列同步  PA8定时器1,1通道输出行同步,然后用PA7用SPI方 ...

用过16位色的TFT没?
我的意思就是一个像素点就是16位数据,16个IO接到电路中电阻网络上,与SPI无关。
专治疑难杂症
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 13:43:22 | 显示全部楼层
LcwSwust 发表于 2021-4-8 13:30
用过16位色的TFT没?
我的意思就是一个像素点就是16位数据,16个IO接到电路中电阻网络上,与SPI无关。

没有用过,听你这么说大概明白,比如800*600的像素就是行同步 800个像素都要给他RGB组成色是这样的吗?写出来就成满屏一个颜色了...不知道问题在哪...
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-8 13:54:13 | 显示全部楼层
villain 发表于 2021-4-8 13:43
没有用过,听你这么说大概明白,比如800*600的像素就是行同步 800个像素都要给他RGB组成色是这样的吗?写 ...

是啊,每个像素的颜色RGB是一个16位数据,5位DAC接到R、6位DAC接到G、5位DAC接到B,是模拟量,不是一个IO口的高低电平就能控制得了的。SPI的方式每个像素点只有亮、灭两种颜色,DAC的方式每个点是在亮与灭之间有多种电压可调的,点与点的电压是不一样的。
专治疑难杂症
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 13:57:06 | 显示全部楼层
LcwSwust 发表于 2021-4-8 13:54
是啊,每个像素的颜色RGB是一个16位数据,5位DAC接到R、6位DAC接到G、5位DAC接到B,是模拟量,不是一个IO ...

对这个我明白了,程序控制上有一些问题,比如现在红绿蓝三色我的屏幕上都显示不了,一改就全屏都该了,我不太明白咋回事
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 13:59:18 | 显示全部楼层
本帖最后由 villain 于 2021-4-9 17:56 编辑
LcwSwust 发表于 2021-4-8 13:54
是啊,每个像素的颜色RGB是一个16位数据,5位DAC接到R、6位DAC接到G、5位DAC接到B,是模拟量,不是一个IO ...

这个是我的程序,显示单色 不太明白
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-8 14:20:02 | 显示全部楼层
villain 发表于 2021-4-8 13:59
这个是我的程序,显示单色 不太明白

看来我是白说了
专治疑难杂症
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 14:32:00 | 显示全部楼层
LcwSwust 发表于 2021-4-8 14:20
看来我是白说了

您那边有示例吗?我也在也有一点蒙,不知道该怎么下手...,我现在是这么条线的,我知道这么不对,应该用R G B那三个脚来发数据DAC转换电压来测,那样那个图片怎么转换保存到Flash呢?
HDCD~{6X4PK]GB0]0VE`N3H.png
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 14:37:12 | 显示全部楼层
LcwSwust 发表于 2021-4-8 14:20
看来我是白说了

目前测试我用的字模软件取的数据保存到Flash的,如何保存RGB那种格式,目前的问题,保存到RGB格式 是不是就可以分别输出出来了?
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-8 14:41:43 | 显示全部楼层
本帖最后由 LcwSwust 于 2021-4-8 14:44 编辑
villain 发表于 2021-4-8 14:32
您那边有示例吗?我也在也有一点蒙,不知道该怎么下手...,我现在是这么条线的,我知道这么不对,应该用R ...

没示例。RGB了解一下:https://baike.baidu.com/item/RGB/342517?fr=aladdin
VGA引脚有三个脚接入R、G、B信号,当扫描到某个像素点时,引脚电压对应该种颜色的亮度:
R脚对应红色的亮度,G脚对应绿色的亮度,B脚对应蓝色的亮度,电压越高亮度越高。

图像取模Image2Lcd找一下。

建议先了解一下TFT彩屏再来学习VGA。
专治疑难杂症
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-8 14:45:35 | 显示全部楼层
LcwSwust 发表于 2021-4-8 14:41
没示例。RGB了解一下:https://baike.baidu.com/item/RGB/342517?fr=aladdin
VGA引脚有三个脚接入R、G、 ...

好的 我学习学习。麻烦您了,非常感谢
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-9 17:44:18 | 显示全部楼层
LcwSwust 发表于 2021-4-8 14:41
没示例。RGB了解一下:https://baike.baidu.com/item/RGB/342517?fr=aladdin
VGA引脚有三个脚接入R、G、 ...

大佬,昨天学习了一下TFT,然后可以驱动彩色了。但是只能显示屏幕上方一点...目前分辨率是720*480@60HZ,缓存50*480的,但是显示出来是只有这么一点点,显示字符可以全屏,没搞明白怎么回事
1105522566aba0e191407b840d8d46b.jpg
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-12 08:49:32 | 显示全部楼层
villain 发表于 2021-4-9 17:44
大佬,昨天学习了一下TFT,然后可以驱动彩色了。但是只能显示屏幕上方一点...目前分辨率是720*480@60HZ, ...

看下你的电路
专治疑难杂症
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-13 09:13:43 | 显示全部楼层

电路很简单,引脚直连的,然后RGB俺您的那种方式 目前只连接了RB两个,用的PD脚,跳整分辨率可以适当扩大范围,但是单色显示字符的话就可以全屏
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-13 09:17:25 | 显示全部楼层
本帖最后由 villain 于 2021-4-13 09:40 编辑

现在分辨率是640*350@85HZ,可以显示出来全屏了,我调的颜色顺序为 粉 蓝 红 黑 粉   但是第一行的粉色显示成了红色,颜色多了就容易出错,没明白?
微信截图_20210413093838.png
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-13 09:41:13 | 显示全部楼层
villain 发表于 2021-4-13 09:17
现在分辨率是640*350@85HZ,可以显示出来全屏了,我调的颜色顺序为 粉 蓝 红 黑 粉   但是第一行的粉色显 ...

拍出来有色差...
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2021-4-13 11:37:35 | 显示全部楼层
villain 发表于 2021-4-13 09:17
现在分辨率是640*350@85HZ,可以显示出来全屏了,我调的颜色顺序为 粉 蓝 红 黑 粉   但是第一行的粉色显 ...

要不试试640*480@60Hz?
建议在该消隐的时候RGB输出电压为0.
颜色问题,你可以用示波器看看RGB信号是否与你的设定值一致。
也可以电脑上显示彩条画面,然后对比一下VGA接口波形。
另外可参考下这个波形:
https://wenku.baidu.com/view/c73f8af705087632311212c7.html


专治疑难杂症
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-13 13:34:45 | 显示全部楼层
LcwSwust 发表于 2021-4-13 11:37
要不试试640*480@60Hz?
建议在该消隐的时候RGB输出电压为0.
颜色问题,你可以用示波器看看RGB信号是否 ...

好的,我再调一调,感谢
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-15 14:16:13 | 显示全部楼层
本帖最后由 villain 于 2021-4-15 15:09 编辑
cwSwust 发表于 2021-4-13 11:37
要不试试640*480@60Hz?
建议在该消隐的时候RGB输出电压为0.
颜色问题,你可以用示波器看看RGB信号是否 ...

大佬,我做出来了,但是一个行扫描要扫600个像素点要用定时器来刷吗?还有什么方法?我算出来的一个像素点要小于0.388us,而且相邻的两个字节之间有间隙,这个怎么处理?
2.jpg
1.png
回复

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2019-3-20
在线时间
51 小时
 楼主| 发表于 2021-4-15 14:18:44 | 显示全部楼层
LcwSwust 发表于 2021-4-13 11:37
要不试试640*480@60Hz?
建议在该消隐的时候RGB输出电压为0.
颜色问题,你可以用示波器看看RGB信号是否 ...

我现在一个行扫描,刷不出来那么多点...
回复

使用道具 举报

11

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2020-5-11
在线时间
26 小时
发表于 2022-2-24 13:05:27 | 显示全部楼层
LcwSwust 发表于 2021-4-13 11:37
要不试试640*480@60Hz?
建议在该消隐的时候RGB输出电压为0.
颜色问题,你可以用示波器看看RGB信号是否 ...

大佬有开源资料吗?最近也在搞这个
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8465
金钱
8465
注册时间
2020-5-11
在线时间
3904 小时
发表于 2022-2-24 13:50:47 | 显示全部楼层
Tim0213 发表于 2022-2-24 13:05
大佬有开源资料吗?最近也在搞这个

VGA-STM32.rar (1.66 MB, 下载次数: 19)
专治疑难杂症
回复

使用道具 举报

11

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2020-5-11
在线时间
26 小时
发表于 2022-2-28 13:49:47 | 显示全部楼层
LcwSwust 发表于 2022-2-24 13:50
这个资料是以前做的无线图像传输,大概100*100的像素,灰度图,效果如图:

点赞
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 02:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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