各位仁兄帮忙解决一下这个问题

mdice1986   2010-9-13 20:47 楼主
编译通过,生成hex文件,但是下载到目标板没反应
#define GPIOE_CRL   (*((unsigned int *)(0x40012000)))
#define GPIOE_BSRR  (*((unsigned int *)(0x40012010)))
#define GPIOE_BRR   (*((unsigned int *)(0x40012014)))
#define RCC_APB2ENR (*((unsigned int *)(0x40022018)))


void delay(void)
{
      unsigned int i;
      for(i = 0; i < 0xffff; ++i)
            ;
}
enum BIT{BIT0,BIT1}        ;


int main(void)
{
  RCC_APB2ENR |=(1<<6);  //使能PORTA时钟  
  GPIOE_CRL = 0x44444422;//PE0,1配置为输出
while(1)
{
      GPIOE_BSRR |= BIT0;
      GPIOE_BRR |= BIT0;
      delay();
      GPIOE_BRR |= BIT0;
      GPIOE_BSRR |= BIT1;
      delay();
}
}

122.rar (44.58 KB)

122.hex.rar (1.89 KB)

回复评论 (8)

GPIOE_BSRR |= BIT0;
      GPIOE_BRR |= BIT0;
      delay();
      GPIOE_BRR |= BIT0;
      GPIOE_BSRR |= BIT1;


SET BIT0,马上再RESET BIT0,等待,再RESET BIT0,再SET BIT1


什么意思?
点赞  2010-9-14 09:51
                                 怎么叫没反应?  需要什么反应?
点赞  2010-9-14 10:57
                                 有点看不太懂,楼主可以把问题再说具体一点
点赞  2010-9-14 18:14
                                 这段程序有点看不懂
点赞  2010-9-14 21:20
                                 我很少不用库写的,但是“置位/复位寄存器”(GPIOx_BSRR,复位是 GPIOx_BRR)中想要更改的位写’1’可以用来实现位翻转。没被选择的位将不被更改,按你的程序BIT0为0,表示没有任何一位被设置,因此应该PE0总是高电平吧。
点赞  2010-9-15 16:08
                                 楼主可以解释一下版主的问题
点赞  2010-9-15 20:59
                                 我是想点亮IO口的一个led灯,但是没反应,看不到灯的闪亮
点赞  2010-9-15 21:27
就是这个原理图上的LED灯

未命名.jpg (30.69 KB)

点赞  2010-9-15 21:31
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复