沟里的女人 https://bbs.21ic.com/?1118033 [收藏] [复制] [RSS] 只因有痛,所以珍惜

日志

FRDM KL02Z4之GPIO模块学习二

已有 1691 次阅读2016-1-21 22:51 |个人分类:FRDM MKL02Z4|系统分类:嵌入式系统| GPIO模块

开 发 板:FRDM MKL02Z4
模      块:GPIO模块
实际例程:利用PORTB的Pin11、Pin10、Pin7、Pin6实现定向依次点亮LED
步       骤:第一步:PORTB时钟使能
                 第二步:PORTB中的管脚11/10/7/6开启普通GPIO模式
                 第三步:GPIOB控制器中的管脚11/10/7/6置位
                 第四步:GPIOB控制器中管脚11/10/7/6开启输出模式
代        码:
//利用PORTB的Pin11、Pin10、Pin7、Pin6实现定向依次点亮LED
void gpio_int(void)
{
   
SIM_SCGC5   |=(3UL << 10);      //使能PORTB模块的时钟
    PORTB_PCR11 |=(1UL << 8);       //PORT的Pin11配置为GPIO模式
    PORTB_PCR10 |=(1UL << 8);       //PORT的Pin10配置为GPIO模式
    PORTB_PCR7  |=(1UL << 8);       //PORT的Pin7配置为GPIO模式
    PORTB_PCR6  |=(1UL << 8);       //PORT的Pin6配置为GPIO模式
    GPIOB_PDDR  |= 0xcc0;           //GPIO模式下Pin11、Pin10、Pin7、Pin6配置为输出模式
    GPIOB_PSOR  |= 0xcc0;           //GPIOB的输出数据寄存器的位11/10/7/6置1(LED全灭)
    //GPIOB_PDOR  = 0x00000cc0;
}

int main(void)
{
   
long int i;

   
gpio_int();
   
while(1)
   
{
        
for(i = 0;i < 6000000;i++)//延时
        {};
        
GPIOB_PCOR |= 0x40;//GPIOB的输出数据寄存器的位6清0(LED1亮)
        //GPIOB_PDOR = 0x00000c80;
        for(i = 0;i < 6000000;i++)
        
{};
        
GPIOB_PCOR |= 0x80;//GPIOB的输出数据寄存器的位7清0(LED2亮)
        //GPIOB_PDOR = 0x00000c00;
        for(i = 0;i < 6000000;i++)
        
{};
        
GPIOB_PCOR |= 0x400;//GPIOB的输出数据寄存器的位10清0(LED3亮)
        //GPIOB_PDOR = 0x00000800;
        for(i = 0;i < 6000000;i++)
        
{};
        
GPIOB_PCOR |= 0x800;//GPIOB的输出数据寄存器的位11清0(LED4亮)
        //GPIOB_PDOR = 0x00000000;
        for(i = 0;i < 6000000;i++)
        
{};
        
GPIOB_PSOR |= 0xcc0;//GPIOB的输出数据寄存器的位11/10/7/6置1(LED全灭)
        //GPIOB_PDOR  = 0x00000cc0;
    }
}

只因选择,所以热爱
只因有痛,所以珍惜
只因很笨,所以学习    -----不点记


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)