zoukankan      html  css  js  c++  java
  • 20155211第十六周课堂实践

    20155211第十六周课堂实践

    要求

    在作业本上完成附图作业,要认真看题目要求。
    提交作业截图
    image

    提取/设置小时

    #define TIME_Addr 0xFFFFC000
    #define TIME *(volatile int *)(DATA_Addr+2)
    
    void SetHours(int hours)
    {
        int time;
        time=TIME;
        time=time&0x07FF;
        time=time|(hours<<11);
        TIME=time;
    }
    
    int getHours()
    {
    int time,hours;
    time=TIME;
    hours=(time>>11)&0x1F;
    return hours;
    }
    
    • 课上时未仔细审题,提取时间时移位写成了<<10,且没有定义I/O存放的基址和时间存放的基址寄存器的位置

    提取秒

    • 如图中所示提取以及设置秒的时候应该注意到0-4bit存储的是实际的秒数除以2的结果
    #define TIME_Addr 0xFFFFC000
    #define TIME *(volatile int *)(DATA_Addr+2)
    
    void SetSeconds(int seconds)
    {
        int time;
        time=TIME;
        time=time&0x07FFF;
        time=time|(seconds/2);
        TIME=time;
    }
    
    int getSeconds()
    {
    int time,seconds;
    time=TIME;
    seconds=time&0x1F;
    return seconds*2;
    }
    
  • 相关阅读:
    计算组合数
    UVa11889
    UVa11388
    二分查找
    UVa12096
    UVa156
    UVa400
    京东2017校招编程题
    华为2017秋招测试工程师笔试试卷
    剑指offer第七章&第八章
  • 原文地址:https://www.cnblogs.com/xxy9712/p/8215724.html
Copyright © 2011-2022 走看看