打印

stm32f101r8t6的GPIO求救

[复制链接]
1709|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ply198354|  楼主 | 2010-12-24 12:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠:
    STM32F101R8T6MCU的PC7口用推挽输出只有2V(系统供电3.3V)?测试时已把PC7的外部电路全部去掉,就让PC7,输出一个方波。用示波器看,方波最高电压也是2V。
另我感到奇怪的是!与PC7同样的IO PC6却有3.3V的输出,请问这是什么问题。下面为我的程式配置:
  GPIO_InitTypeDef GPIO_InitStructure; //定义IO配置参数变量
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;   //定义PC.6 ~9 作为74HC138 A B OE线
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO频率设置
  GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP; //IO上拉功能设置推挽输出
  GPIO_Init(GPIOC, &GPIO_InitStructure);    //根据上面三行参数进行PC.6 ~9 进行设置
#define Row_A_LOW GPIO_ResetBits(GPIOC, GPIO_Pin_6) //A=0;
#define Row_A_HIGHT GPIO_SetBits(GPIOC, GPIO_Pin_6) //A=1;
#define Row_B_LOW GPIO_ResetBits(GPIOC, GPIO_Pin_7) //B=0;
#define Row_B_HIGHT GPIO_SetBits(GPIOC, GPIO_Pin_7) //B=1;
#define Row_C_LOW GPIO_ResetBits(GPIOC, GPIO_Pin_8) //C=0;
#define Row_C_HIGHT GPIO_SetBits(GPIOC, GPIO_Pin_8) //C=1;
#define Row_OE_LOW GPIO_ResetBits(GPIOC, GPIO_Pin_9) //OE=0;
#define Row_OE_HIGHT GPIO_SetBits(GPIOC, GPIO_Pin_9) //OE=1;
  switch(dat_temp)
  {
  case 0 :
    Row_A_LOW;
    Row_B_LOW;
    break;
  case 1 :
    Row_A_HIGHT;
    Row_B_LOW;
    break;
  case 2 :
    Row_A_LOW;
    Row_B_HIGHT;
    break;
  case 3 :
    Row_A_HIGHT;
    Row_B_HIGHT;
    break;
  }
沙发
香水城| | 2010-12-24 12:37 | 只看该作者
如果不是芯片随坏,估计板子上的供电、地线或去耦电路有问题。

使用特权

评论回复
板凳
ply198354|  楼主 | 2010-12-24 13:02 | 只看该作者
已解决,连锡了

使用特权

评论回复
地板
jgphu| | 2010-12-24 15:04 | 只看该作者
出现这种问题的时候,就应该好好检查一下外面电路。

使用特权

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

本版积分规则

0

主题

4

帖子

1

粉丝