打印
[STM32F1]

STM32打板的问题

[复制链接]
1965|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我用STM32F103C8T6打了一个小板,原理图如下:
我写了个指示灯的程序,可以正常运行。
然后,又写了一个按键控制灯的程序,按下按键,灯没反应。
请高手指教,哪里出了问题?谢谢!
沙发
JY-DX-JY|  楼主 | 2016-2-1 14:53 | 只看该作者
本帖最后由 JY-DX-JY 于 2016-2-1 14:55 编辑

以下是程序:
//GPIOB
    GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_3 | GPIO_Pin_6 | GPIO_Pin_7;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;                                                                                                //浮空输入
    GPIO_Init(GPIOB, &GPIO_InitStructure);
。。。。。。。。。。。。。。。。。。。。
int main(void)
{
        u8 t;
        u8 len;
        u16 times=0;
        long int i;
        Stm32_Clock_Init(6);                    //72MHz
  delay(1000);
        CPU_Init();
        GPIO_ResetBits(GPIOA, GPIO_Pin_13 );
        //KEY_Init();
        //LED0_SET(0);
        //delay(24000);
        //IWDG_init(4,625);
        //TIM3_Int_Init(50,7199);                                                                                        //10kHz的计数频率,计数到50为500ms
        while(1)
        {
   if(GPIO_ReadInputDataBit(GPIOB,11)==0)
                 LED0_SET(0);
                //for(i=0;i<1000000;i++);
         else
                 LED0_SET(1);
        //for(i=0;i<1000000;i++);
        }
}
我测了,按键没按下时是3.3V,按下是0V。

使用特权

评论回复
板凳
JY-DX-JY|  楼主 | 2016-2-1 15:04 | 只看该作者
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)==0)
改成这样就好了

使用特权

评论回复
地板
qq4988| | 2016-2-1 15:19 | 只看该作者
当然  #define GPIO_Pin_11                ((uint16_t)0x0800)

GPIO_Pin_11   可不是 11

使用特权

评论回复
5
quray1985| | 2016-2-1 16:06 | 只看该作者
JY-DX-JY 发表于 2016-2-1 14:53
以下是程序:
//GPIOB
    GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_3 | GPIO_Pin_6 | GPIO_Pin_7;

楼主,你的程序里也没看到对按键的初始化啊

使用特权

评论回复
6
JY-DX-JY|  楼主 | 2016-2-1 16:11 | 只看该作者
在CPU_Init();这个里面

使用特权

评论回复
7
songchenping| | 2016-2-1 17:32 | 只看该作者
楼主在自娱自乐吗

使用特权

评论回复
8
JY-DX-JY|  楼主 | 2016-2-1 18:02 | 只看该作者
songchenping 发表于 2016-2-1 17:32
楼主在自娱自乐吗

娱你个头

使用特权

评论回复
9
diweo| | 2016-2-2 08:30 | 只看该作者
完全是低级错误。
上面都GPIO_ResetBits(GPIOA, GPIO_Pin_13 );
到了下面就变   if(GPIO_ReadInputDataBit(GPIOB,11)==0)了。。。。

使用特权

评论回复
10
mmuuss586| | 2016-2-2 08:53 | 只看该作者

程序问题,和打板又没啥关系;

使用特权

评论回复
11
xlong_06| | 2016-2-2 14:47 | 只看该作者
这种问题主要是自己的粗心造成的,多避免下就好了!

使用特权

评论回复
12
Mancherstun| | 2016-2-4 10:33 | 只看该作者
你的按键程序是不是没有检测到啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:晴天响霹雳,平地一声雷。

245

主题

3351

帖子

30

粉丝