OpenEdv-开源电子网

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

关于精英板 实验33 摄像头实验的HAL库 一下载就STLINK就不能用了

[复制链接]

62

主题

353

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1429
金钱
1429
注册时间
2021-4-28
在线时间
536 小时
发表于 2021-9-8 20:15:12 | 显示全部楼层 |阅读模式
5金钱
关于精英板 实验33 摄像头实验的HAL库 一下载就STLINK就不能用了,再也下载不了程序了,不知道出了什么问题

最佳答案

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

问题解决 先看源代码 u8 OV7725_Init(void) { u16 i=0; u16 reg=0; //设置IO GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_GPIOA_CLK_ENABLE(); //开启GPIOA时钟 __HAL_RCC_GPIOB_CLK_ENABLE(); //开启GPIOB时钟 __HAL_RCC_GPIOC_CLK_ENABLE(); //开启GPIOC时钟 __HAL_RCC_GPIOD_CLK_ENABLE(); //开启GPIOD时钟 __HAL_RCC_GPIOG_CLK_ENABLE(); ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

62

主题

353

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1429
金钱
1429
注册时间
2021-4-28
在线时间
536 小时
 楼主| 发表于 2021-9-8 20:15:13 | 显示全部楼层
问题解决
先看源代码
u8 OV7725_Init(void)
{
        u16 i=0;
        u16 reg=0;       
       
        //设置IO
        GPIO_InitTypeDef GPIO_Initure;
       
        __HAL_RCC_GPIOA_CLK_ENABLE();                   //开启GPIOA时钟
        __HAL_RCC_GPIOB_CLK_ENABLE();                   //开启GPIOB时钟
        __HAL_RCC_GPIOC_CLK_ENABLE();                   //开启GPIOC时钟
        __HAL_RCC_GPIOD_CLK_ENABLE();                   //开启GPIOD时钟
        __HAL_RCC_GPIOG_CLK_ENABLE();                   //开启GPIOG时钟
        __HAL_RCC_AFIO_CLK_ENABLE();                           //开启AFIO时钟
       
        //PA8
        GPIO_Initure.Pin=GPIO_PIN_8;                                                //PA8
        GPIO_Initure.Mode=GPIO_MODE_INPUT;                              //输入       
        GPIO_Initure.Pull=GPIO_PULLUP;                                  //上拉       
        GPIO_Initure.Speed=GPIO_SPEED_FREQ_HIGH;                    //高速       
        HAL_GPIO_Init(GPIOA,&GPIO_Initure);
        HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,GPIO_PIN_SET);        //PA8输出高电平
       
        //PB3,4
        GPIO_Initure.Pin=GPIO_PIN_3|GPIO_PIN_4;                                //PB3,4
        GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;                          //推挽输出                                         
        HAL_GPIO_Init(GPIOB,&GPIO_Initure);
        HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,GPIO_PIN_SET);        //PB3输出高电平
        HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_SET);        //PB4输出高电平
       
        //PC0~7,输入
        GPIO_Initure.Pin=0xff;
    GPIO_Initure.Mode=GPIO_MODE_INPUT;                                  //输入
    GPIO_Initure.Pull=GPIO_PULLUP;                                  //上拉
    GPIO_Initure.Speed=GPIO_SPEED_FREQ_HIGH;                    //高速                                 
        HAL_GPIO_Init(GPIOC,&GPIO_Initure);
       
        //PD6
        GPIO_Initure.Pin=GPIO_PIN_6;                                                //PD6
        GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;                          //推挽输出                                         
        HAL_GPIO_Init(GPIOD,&GPIO_Initure);
        HAL_GPIO_WritePin(GPIOD,GPIO_PIN_6,GPIO_PIN_SET);        //PD6输出高电平

        //PG14,15
        GPIO_Initure.Pin=GPIO_PIN_14|GPIO_PIN_15;                        //PG14,15
        GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;                          //推挽输出                                         
        HAL_GPIO_Init(GPIOG,&GPIO_Initure);
        HAL_GPIO_WritePin(GPIOG,GPIO_PIN_14,GPIO_PIN_SET);        //PG14输出高电平
        HAL_GPIO_WritePin(GPIOG,GPIO_PIN_15,GPIO_PIN_SET);        //PG15输出高电平
       
        __HAL_AFIO_REMAP_SWJ_DISABLE();                                                //在这里竟然把SWD和JTAG都关了 问题就出在这

        SCCB_Init();                        //初始化SCCB 的IO口       
        if(SCCB_WR_Reg(0x12,0x80))return 1;        //软复位OV7725
        delay_ms(50);
        reg=SCCB_RD_Reg(0X1c);                //读取厂家ID 高八位
        reg<<=8;
        reg|=SCCB_RD_Reg(0X1d);                //读取厂家ID 低八位
        if(reg!=OV7725_MID)
        {
                printf("MID:%d\r\n",reg);
                return 1;
        }
        reg=SCCB_RD_Reg(0X0a);                //读取厂家ID 高八位
        reg<<=8;
        reg|=SCCB_RD_Reg(0X0b);                //读取厂家ID 低八位
        if(reg!=OV7725_PID)
        {
                printf("HID:%d\r\n",reg);
                return 2;
        }   
        //初始化 OV7725,采用QVGA分辨率(320*240)  
        for(i=0;i<sizeof(ov7725_init_reg_tb1)/sizeof(ov7725_init_reg_tb1[0]);i++)
        {                                                               
                   SCCB_WR_Reg(ov7725_init_reg_tb1[0],ov7725_init_reg_tb1[1]);
        }
          return 0x00;         //ok
}

下面看看这句代码
/**
  * @brief Disable the Serial wire JTAG configuration
  * @note  DISABLE: JTAG-DP Disabled and SW-DP Disabled                                                   /* 这里关闭了SWD和JTAG 导致不能下载程序了 */
  * @retval None
  */
#define __HAL_AFIO_REMAP_SWJ_DISABLE()  AFIO_DBGAFR_CONFIG(AFIO_MAPR_SWJ_CFG_DISABLE)

问题解决 将上述代码修改为
__HAL_AFIO_REMAP_SWJ_NOJTAG()
看看这句的功能

/**
  * @brief Enable the Serial wire JTAG configuration
  * @note  NOJTAG: JTAG-DP Disabled and SW-DP Enabled                                             /* 关闭JTAG 但不关闭SWD 便可继续下载程序 */
  * @retval None
  */

#define __HAL_AFIO_REMAP_SWJ_NOJTAG()  AFIO_DBGAFR_CONFIG(AFIO_MAPR_SWJ_CFG_JTAGDISABLE)
回复

使用道具 举报

7

主题

480

帖子

0

精华

高级会员

Rank: 4

积分
783
金钱
783
注册时间
2021-4-15
在线时间
305 小时
发表于 2021-9-8 20:16:24 | 显示全部楼层
ST LINK No Target Connected 断电将 BOOT中的B0接到3.3V 上电再点击 Settings 打开看看有没有识别到芯片!再烧录一下跑马灯例程 然后断电将 BOOT 的B0 接回GND 再打开 Settings看看
日常敲键--头秃一片
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3369
金钱
3369
注册时间
2011-11-10
在线时间
207 小时
发表于 2021-9-9 09:03:41 | 显示全部楼层
看一下程序里是不是把烧录口当作其他外设接口或者禁止使用了
回复

使用道具 举报

11

主题

2156

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4973
金钱
4973
注册时间
2015-1-10
在线时间
623 小时
发表于 2021-9-9 09:05:21 | 显示全部楼层
看一下SWD口是不是被配置成其他功能了
回复

使用道具 举报

62

主题

353

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1429
金钱
1429
注册时间
2021-4-28
在线时间
536 小时
 楼主| 发表于 2021-9-11 21:13:44 | 显示全部楼层
阿侑kevin 发表于 2021-9-9 09:05
看一下SWD口是不是被配置成其他功能了

的确是的
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2021-9-11 23:10:47 | 显示全部楼层
CJC529 发表于 2021-9-10 22:55
问题解决
先看源代码
u8 OV7725_Init(void)

谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-2 14:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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