野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9953|回复: 1

STM32CUBEIDE无法运行OV7725的SCCB读写

[复制链接]
发表于 2021-10-12 20:29:29 | 显示全部楼层 |阅读模式
win10 , ST-LINK2仿真器.STM32F103VET6 野火指南者开发板.
野火OV7725摄像头.
HAL库版本V1.8.4 , stm32f1xx_hal.c 第56行显示 STM32F1xx HAL Driver version number V1.1.8

stm32cubeide 版本.Version: 1.7.0 Build: 10852_20210715_0634 (UTC)
KEIL5 版本 V5.35.0.0

步骤如下:
一:
下载官方的例程 1-书籍配套例程-F103VE指南者_20210127\45-ov7725
此时查看stm32f1xx_hal.c 第56行显示STM32F1xx HAL Driver version number V1.1.4
修改仿真器为ST-LINK2 ,编译,下载.  摄像头正常工作. 可以实时显示在LCD屏幕上.
更新HAL库为STM32F1xx HAL Driver version number V1.1.8
编译,下载.  摄像头正常工作. 可以实时显示在LCD屏幕上.(和1.1.4一样的现象)

二:
用cubemx创建cubeide工程, 并选择spi1 ,fsmc ,usart1 并初始化SYS 和RCC.  生成代码.
把 1-书籍配套例程-F103VE指南者_20210127\45-ov7725中的USER下的代码.按照 头文件和源文件.
分别拷贝到Core/Inc 和 Conre/Src下面.  修改报错的头文件引用.
拷贝main.c中的代码到生成的main.c中去.  增加头部引用.
编译. 一切正常 . (除了两个内联函数的waring , 在keil5里也有waring)
下载到开发板.
LCD一切正常. 也能显示文字.
在debug的过程中. 程序一直会进入函数SCCB_WaitAck的if(SDA_read)这一行.

/*********************************/
才开始学习单片机. 描述不清楚的地方还请见谅和留言.
谢谢你的阅读和解答.






SCCB_WaitAck

SCCB_WaitAck
回复

使用道具 举报

 楼主| 发表于 2021-10-20 17:09:30 | 显示全部楼层
问题解决了.  
原因在于gcc的编译优化级别. 不优化时(-O0)可以正常运行.
但是相对于armcc来说gcc在不优化的情况下. 性能拉跨.
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 11:51 , Processed in 0.028487 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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