zoukankan      html  css  js  c++  java
  • 闪灯程序

    第一次接触这种东西,观摩了别人写的一个小程序.

    #define PINSEL0    *(volatile unsigned *)(0xE002C000) 
    #define IOIN          *(volatile unsigned *)(0xE0028000)
    #define IOSET        *(volatile unsigned *)(0xE0028004)
    #define IODIR        *(volatile unsigned *)(0xE0028008)
    #define IOCLR       *(volatile unsigned *)(0xE002800C)

    定义寄存器,闪灯程序需要将管腿设置为GPIO模式.PINSEL0是状态寄存器,表示各个管腿分别处于什么状态.当处于GPIO模式时,IODIR寄存器表示是输入还是输出.当输出时,IOSET和IOCLR是一对蛋疼的东西,令IOSET=1表示输出1,如果想输出0需要将IOCLR置为1.IOIN表示输入的值.

     

    PINSEL0 &= 0;
    IODIR |= 0x100;

    GPIO对应的标号是00,第一句表示将所有的管腿置为GPIO模式.

    在我这块板上灯是接在P0.8上的,所以第二句将IODIR的第8位(最低位为第0位)置为1,表示输出.

    void flash(unsigned int fre, unsigned int time)
    {
        while (time--)
        {
            IOSET = 0x100; //表示在第8位输出为1,灯灭.
            delay(fre);
            IOCLR = 0x100; //表示在第8位输出为0,灯亮.
            delay(fre);
        }
    }
  • 相关阅读:
    h5 canvas
    css3选择器
    弹性盒模型
    css新增属性
    蒙版 倒影 渐变
    字符串转化为json的三种方法
    Final互评------《弹球学成语》---- 杨老师粉丝群
    Final互评------《飞词》---- 拉格朗日2018
    作业 20181204-4 互评Final版本
    换手
  • 原文地址:https://www.cnblogs.com/dramstadt/p/3256794.html
Copyright © 2011-2022 走看看