OpenEdv-开源电子网

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

禁用JTAG之后,释放PB3,PB4端口,重新上电之后禁用失效!!!

[复制链接]

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2019-12-23
在线时间
22 小时
发表于 2021-12-17 13:48:46 | 显示全部楼层 |阅读模式
10金钱
用的是STM32F103RCT6芯片,使用“GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);函数禁用JTAG之后,  目前能有效果的是,给板子只接swd的四根线下载好程序之后,再给板子电源端供电(220V出来的),这样才能正常使用;
去掉swd的四根线之后,给板子重新上电,端口又没有了输出;或者正常输出的情况下,按一下复位键,同样没有的输出
下面贴出初始化函数和主函数;


端口初始化函数
     void LED_Init(void){

GPIO_InitTypeDef  GPIO_InitStructure;
       
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE);       
//        GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
       
       
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;                               
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO口速度为50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure);                                         //根据设定参数初始化GPIOB.5
GPIO_ResetBits(GPIOB,GPIO_Pin_3|GPIO_Pin_4);                                               
                               
}


调用主函数
int main(void)
{

        delay_init();                  //初始化延时函数
        LED_Init();                        //初始化LED端口
        while(1)
        {
                        GPIO_ResetBits(GPIOB,GPIO_Pin_3);  
                        GPIO_SetBits(GPIOB,GPIO_Pin_4);  
                        delay_ms(500);                    
                        GPIO_SetBits(GPIOB,GPIO_Pin_3);          
                        GPIO_ResetBits(GPIOB,GPIO_Pin_4);
                        delay_ms(500);                    
        }
}









最佳答案

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

可能是硬件上的问题,代码配置完后就生效的了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3627
金钱
3627
注册时间
2019-8-14
在线时间
1054 小时
发表于 2021-12-17 13:48:47 | 显示全部楼层
可能是硬件上的问题,代码配置完后就生效的了。
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2019-12-23
在线时间
22 小时
 楼主| 发表于 2021-12-17 14:11:30 | 显示全部楼层
现在下载也不能正常驱动了
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2019-12-23
在线时间
22 小时
 楼主| 发表于 2021-12-17 14:26:37 | 显示全部楼层
也可以说是,断电之后再上电程序不运行
回复

使用道具 举报

1

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1023
金钱
1023
注册时间
2019-9-21
在线时间
269 小时
发表于 2021-12-17 14:35:50 | 显示全部楼层
B0接3.3V,然后重新下载代码怎么样
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2019-12-23
在线时间
22 小时
 楼主| 发表于 2021-12-17 15:31:43 | 显示全部楼层
gjs13030247996 发表于 2021-12-17 14:35
B0接3.3V,然后重新下载代码怎么样

试了一下,还是不运行
回复

使用道具 举报

1

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1023
金钱
1023
注册时间
2019-9-21
在线时间
269 小时
发表于 2021-12-17 15:33:11 | 显示全部楼层
下载完程序之后,B0需要接回GND的,你试一下看看
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2019-12-23
在线时间
22 小时
 楼主| 发表于 2021-12-17 15:57:04 | 显示全部楼层
gjs13030247996 发表于 2021-12-17 15:33
下载完程序之后,B0需要接回GND的,你试一下看看

也没用,我发现好像是复位之后,程序没有运行起来
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2019-12-23
在线时间
22 小时
 楼主| 发表于 2021-12-17 15:57:59 | 显示全部楼层
gjs13030247996 发表于 2021-12-17 15:33
下载完程序之后,B0需要接回GND的,你试一下看看

现在就是,下载完程序不能断电,一断电再重新上电就不行了
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2019-12-23
在线时间
22 小时
 楼主| 发表于 2021-12-17 16:01:01 | 显示全部楼层
现在又有一个新的现象,就是先连接swd的四根线,再给上市电程序就能运行了
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2019-12-23
在线时间
22 小时
 楼主| 发表于 2021-12-20 14:25:19 | 显示全部楼层
现在换了一个芯片,就解决了问题了,程序还是原来的,没有修改过;真是奇怪,也没有找出来是哪里的问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 00:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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