完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在跟踪esp32-web-camera的代码时,看到了通过设置全局变量I2S0,I2S1,触发DMA的机制,对于结构体i2s_dev_t的各字段不是很理解,不懂哪里有这方面的文档,另外通过设置变量I2S0而实现DMA机制,能不能帮忙描述下?
以下是样例中,ll_cam.c中设置I2S0的代码 bool ll_cam_start(cam_obj_t *cam, int frame_pos) { I2S0.conf.rx_start = 0; I2S_ISR_ENABLE(in_suc_eof); I2S0.conf.rx_reset = 1; I2S0.conf.rx_reset = 0; I2S0.conf.rx_fifo_reset = 1; I2S0.conf.rx_fifo_reset = 0; I2S0.lc_conf.in_rst = 1; I2S0.lc_conf.in_rst = 0; I2S0.lc_conf.ahbm_fifo_rst = 1; I2S0.lc_conf.ahbm_fifo_rst = 0; I2S0.lc_conf.ahbm_rst = 1; I2S0.lc_conf.ahbm_rst = 0; I2S0.rx_eof_num = cam->dma_half_buffer_size / sizeof(dma_elem_t); I2S0.in_link.addr = ((uint32_t)&cam->dma[0]) & 0xfffff; I2S0.in_link.start = 1; I2S0.conf.rx_start = 1; return true; } |
|
相关推荐
1个回答
|
|
I2S0全局变量不是普通的变量,是直接作用于寄存器,修改了I2S0,就等于修改了寄存器,这样就能理解了
|
|
|
|
只有小组成员才能发言,加入小组>>
180个成员聚集在这个小组
加入小组453 浏览 1 评论
1452 浏览 1 评论
618浏览 6评论
515浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
495浏览 5评论
496浏览 4评论
486浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-4 05:53 , Processed in 0.788351 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号