[讨论] 这句程序是啥意思?

suoma   2016-4-4 14:56 楼主
求助,帮我把以下程序解释一下,用惯了arduino,突然看SAM4L的程序没眉目,官方的例程,看了一天了,没明白四句是什么操作?知道包含使能、使能输出,但不知道是哪一句?还请高手指点一下。
  GPIO->GPIO_PORT[2].GPIO_GPERS  = GPIO_PC24;
  GPIO->GPIO_PORT[2].GPIO_ODERC  = GPIO_PC24;
  GPIO->GPIO_PORT[2].GPIO_PUERS  = GPIO_PC24;
  GPIO->GPIO_PORT[2].GPIO_STERS  = GPIO_PC24;

这些32bit的芯片都是用基地址+偏移地址,GPIO_GPERS,这个G、O、P、S开头的,到底是怎么操作寄存器?O是使能输出,P是使能,S是设置,P是结构体?


如下是别人的程序我能看懂
PIOB->PIO_PER |= (0x01 << LED_PIN);
    /*LED????*/
    PIOB->PIO_OER |= (0x01 << LED_PIN);
    while (1)
    {
        /*?????,??LED*/
        PIOB->PIO_CODR = (0x01 << LED_PIN);
        /*??*/
        delay(300);
        /*?????,??LED*/
        PIOB->PIO_SODR = (0x01 << LED_PIN);


如上两种程序对位操作方式有什么不同?

回复评论 (3)

GPIO = General-purpose input/output
点赞  2016-4-4 16:26
已解决
GPERS-使能GPIO寄存器
STERS-施密特触发器使能寄存器
PUERS -上拉使能寄存器
ODERC-输出使能寄存器

ARM这玩意设计的寄存器太多了
点赞  2016-4-4 16:34
看看它的头文件,看看宏定义,
点赞  2016-4-4 23:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复