野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17911|回复: 8

GPIO输出电平问题请教

[复制链接]
发表于 2014-6-28 10:46:41 | 显示全部楼层 |阅读模式
我用板子上的PD14输出方波,用示波器测试,得到的类似三角波,这是什么原因?

MCU 是STM32F103VET6

PD0和PD9好像也是这种问题

IMG_20140628_003745.jpg

谢谢!
回复

使用道具 举报

发表于 2014-6-28 10:56:43 | 显示全部楼层
上代码啊啊啊啊啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-28 11:13:50 | 显示全部楼层
代码有点多,只上与问题有关的的
IO配置

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;        //·½Ïò+Âö3å+1«12¶Ë
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_Init(GPIOD, &GPIO_InitStructure);
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
        GPIO_Init(GPIOE, &GPIO_InitStructure);
运行代码
if( motorDirection == CLkWISE)//CLkWISE
        {       
                GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)(CommonEnd));
               
                GPIO_WriteBit(GPIOD, GPIO_Pin_14, (BitAction)(CLkWISE));
               
                GPIO_WriteBit(GPIOE, GPIO_Pin_0, (BitAction)(1));
               
                TIM2_Start();
               
                motorYRun();
                //motorFlag = 0;
               
                TIM2_Stop();
               
                return 1;       
        }
        else
        {
                GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)(CommonEnd));
               
                GPIO_WriteBit(GPIOD, GPIO_Pin_14, (BitAction)(ANTICLKWISE));
               
                GPIO_WriteBit(GPIOE, GPIO_Pin_0, (BitAction)(1));
               
                TIM2_Start();
               
                motorYRun();
                //motorFlag = 0;
               
                TIM2_Stop();
               
                return 1;
        }

其中,如果motorDirection 为CLKWISE ,那么PD14输出1;否则输出0.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-28 11:17:43 | 显示全部楼层
好像PD14输出永远是0。示波器测试,就得到上面的波形。不知道为什么
#define CLkWISE        1
#define ANTICLKWISE    0
回复 支持 反对

使用道具 举报

发表于 2014-6-28 11:19:12 | 显示全部楼层
走过路过,不能错过
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-28 11:22:54 | 显示全部楼层
三流电工 发表于 2014-6-28 10:56
上代码啊啊啊啊啊

代码已经附在 ,请诊断之。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-28 11:24:13 | 显示全部楼层
而且还有个现象,就是PA0和PE0的输出时正常的
回复 支持 反对

使用道具 举报

发表于 2014-6-28 11:29:24 | 显示全部楼层
txmsszd 发表于 2014-6-28 11:24
而且还有个现象,就是PA0和PE0的输出时正常的

意思是PA正常但PD不正常?

显示的时间轴单位是什么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-28 11:33:08 | 显示全部楼层
三流电工 发表于 2014-6-28 11:29
意思是PA正常但PD不正常?

显示的时间轴单位是什么

自动量程。不过时间轴怎么调,都是上面那样的。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-23 01:36 , Processed in 0.038869 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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