我试图使用OV2640相机与ESP32 (TTGo模块)和铁锈。不幸的是,目前还没有司机。所以,我开始创建一个。在我看来,在我看来,可以用于读取相机图像的I2S模块对这个用例没有esp-以色列国防军库的匹配功能支持。要配置外围设备,我需要手工编写一些寄存器值。对于C,您可以很容易地找到这方面的示例,例如esp32 32摄像机库中的espressive (参见cam.c号线256。)。
不幸的是,在查看了esp和-hal文档和示例之后,我找不到任何示例或提示如何这样做。而且,在互联网上搜索直到现在还没有发现任何有用的东西。
也许太明显了..。有人能给我一个提示,看看在哪里或者怎么做吗?
发布于 2022-04-11 19:26:29
这并不容易,但您可以使用1.59+访问asm!中的寄存器。您将需要确定每个值绑定到哪个特定寄存器。我不熟悉Riscv32,所以这可能是一个实际的注册,也可能不是。
let x1_register: usize;
unsafe {
// Read register to variable
asm!("mov {0}, x1", out(reg) x1_register);
// Write register from variable
asm!("mov x2, {0}", in(reg) x1_register);
}
println!("x1_register: {:?}", x1_register);不过老实说,我不确定它是否真的改变了任何CPU寄存器。基于这个标题,我发现它可能只是在为SPI (或类似的)接口配置一些数据。
https://stackoverflow.com/questions/71830924
复制相似问题