万能的矿坛,求助一个小问题STM32单片机的PA15做普通IO,输出电压不足
最近用STM32F103C8T6单片机做一个小设备,需要用到PA15管脚。按照资料,此脚做普通IO,需要用它的复用功能。
设置完以后,主程序使其交替输出高低电平。问题出现了,空载直连,高电平只有2.1V,正常是3.3V才对,试了两块板,都是这样,无法驱动我的设备。 书到用时 发表于 2019-11-25 18:39
用代码把jtag禁掉
额⊙⊙!,已经禁掉了,可以控制,就是电压不够,高电平状态只有2.1V PA15我使用正常,你仔细再检查下初始化部分代码。 设为推挽输出 amo 发表于 2019-11-25 19:47
设为推挽输出
是推挽输出,OutPP模式 晚点给测试代码贴出来给大伙瞅瞅 下面贴上代码:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//we need to use gpio's interrupt,so enable the AFIO clock;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
// GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);//全部重定义(此时用st-link下载,需在上电瞬间,或一直按着硬件复位键)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//部分重定义
// GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,DISABLE);仅PB4重定义
//init the gpio porta.15 as output push and pull,DIR_L
GPIO_Init_struct_temp.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init_struct_temp.GPIO_Pin=GPIO_Pin_15;
GPIO_Init_struct_temp.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_Init_struct_temp);
GPIO_SetBits(GPIOA,GPIO_Pin_15);//init the direction"I don't konw if this direction is right"
结束,附件是全部的main函数包括初始化函数代码 输出端口选用复用试试 加上拉电阻330欧。 hozhiwen 发表于 2019-11-26 14:29
输出端口选用复用试试
复用输出,直接无法控制 wskufo 发表于 2019-11-26 14:39
加上拉电阻330欧。
电路已经此成型了。
按理说推挽是最强的。 奇怪,换了一个mini板,同样的代码,电压正常难道我的6块钱的Stm32芯片是假的不成 接个nmos管子控制呢 可能是你的单片机内部上拉电路有问题,程序是对的,但是芯片内部没有动作。不排除是单片机内部的问题。
页:
[1]
2