STM32 JTDO如何用作普通IO口

[复制链接]
690|2
 楼主| kedangxing123 发表于 2021-2-2 11:30 | 显示全部楼层 |阅读模式
如题,STM32F103RCT6    想把PB3和PB4用作普通IO,已经把管脚重定义了,还是不行,控制不了。例程如下
void SENSOR_Init(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;

        RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);         //打开GPIO时钟
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

      
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode =  GPIO_Mode_Out_PP;                    //推挽输出
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;   
   GPIO_Init(GPIOB, &GPIO_InitStructure);              //初始化传感器4051端口
        PBout(3)=0;
        delay_us(10);
        PBout(3)=0;
        delay_us(10);
}
xyz549040622 发表于 2021-2-3 18:13 | 显示全部楼层
我觉得你出问题出在顺序上,先禁止,再使能时钟的。
代码肯定没问题。随便一搜都是。
qqq_147258 发表于 2021-2-22 11:02 | 显示全部楼层
RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
您试试把这两句放在main的最开始试试吧。
我记得之前遇到过一次,这么写的最开始之后才可以的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

19

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部