OpenEdv-开源电子网

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

关于DCMI 驱动 OV5640摄像头RGB屏显示 HAL库版本的代码有个疑问

[复制链接]

14

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2017-5-4
在线时间
82 小时
发表于 2017-5-4 13:43:41 | 显示全部楼层 |阅读模式
5金钱
关于DCMI 驱动 OV5640摄像头RGB屏显示 HAL库版本的代码有个疑问,
void rgb565_test(void)
{
        。。。。省略

        if(lcdltdc.pwidth!=0)        //RGBÆá
        {
                dcmi_rx_callback=rgblcd_dcmi_rx_callback;
          DCMI_DMA_Init((u32)dcmi_line_buf[0],(u32)dcmi_line_buf[1],lcddev.width/2,DMA_MDATAALIGN_HALFWORD,DMA_MINC_ENABLE);
        }else                                       
        {
         DCMI_DMA_Init((u32)&LCD->LCD_RAM,0,1,DMA_MDATAALIGN_HALFWORD,DMA_MINC_DISABLE);
        }
      。。。。省略
}这个 DCMI_DMA_Init 初始化代码 数据长度为什么设置为 lcddev.width/2 啊 ????????


寄存器版本的代码我看过 他使能了DMA的直接模式传输 FCR寄存器初始化为0x21   存储器数据大小MSIZE 在直接模式下强制置为外设数据大小 PSIZE =32位 而RGB每个像素大小16位
所以DCMI_DMA_Init((u32)dcmi_line_buf[0],(u32)dcmi_line_buf[1],lcddev.width/2,1,1); 初始化数据长度为lcddev.width/2  这个我可以理解
但是HAL库版本的函数没有是能DMA的直接传输模式 用的是FIFO模式 存储器数据大小 MSIZE=DMA_MDATAALIGN_HALFWORD(16)位啊 为什么DMA初始化数据长度还是lcddev.width/2啊?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-5-4 15:04:44 | 显示全部楼层
把HAL库版本中的FIFO模式关了,直接用直接传输。
回复

使用道具 举报

14

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2017-5-4
在线时间
82 小时
 楼主| 发表于 2017-5-4 15:32:00 | 显示全部楼层
zuozhongkai 发表于 2017-5-4 15:04
把HAL库版本中的FIFO模式关了,直接用直接传输。

不是关不关的问题 我是想问为什么设置为 lcddev.width/2 难道HAL库的代码有错误?
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-5-4 16:36:30 | 显示全部楼层
ufo13110008262 发表于 2017-5-4 15:32
不是关不关的问题 我是想问为什么设置为 lcddev.width/2 难道HAL库的代码有错误?

有可能是曾经调试代码,没有改过来。而实验有没有bug
开往春天的手扶拖拉机
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
155
金钱
155
注册时间
2019-9-21
在线时间
45 小时
发表于 2021-2-7 10:52:36 | 显示全部楼层
哪能找到HAL库函数的OV5640驱动代码呢,原子只给了OV2640的
回复

使用道具 举报

10

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2017-5-5
在线时间
49 小时
发表于 2022-1-15 15:24:13 | 显示全部楼层
风吹鸡蛋壳 发表于 2021-2-7 10:52
哪能找到HAL库函数的OV5640驱动代码呢,原子只给了OV2640的

你去找F429的例程里面有的,也是正点原子的下载中心里面
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 06:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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