嵌入式基础课后补交

Posted 刘威良

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌入式基础课后补交相关的知识,希望对你有一定的参考价值。

嵌入式基础

在作业本上完成附图作业,要认真看题目要求。
提交作业截图
作弊本学期成绩清零(有雷同的,不管是给别人传答案,还是找别人要答案都清零)

过程:

可以将整段代码分为六个小部分。分别设置小时,分钟和秒,然后再提取位实现时钟。

设置小时

#define Time_Addr 0xFFFFC0000 //实时钟芯片的IO映像基址是OxFFFFC0000
#define TIME *(volatile int *)(Time_Addr+2) //时间存放在基址+2的寄存器中
void SetHours(int hours) 
{
    int oldtime=TIME;
    int newtime;
    newtime=oldtime&~(0x1F<<11);
    newtime|=(hours&0x1F)<<11;
    TIME=newtime;

}

提取小时

#define Time_Addr 0xFFFFC0000 //实时钟芯片的IO映像基址是OxFFFFC0000
#define TIME *(volatile int *)(Time_Addr+2) //时间存放在基址+2的寄存器中
int getHours() 
{
    int time=TIME;
    return (time>>11)&0x1F;
}

设置分钟

#define Time_Addr 0xFFFFC0000 //实时钟芯片的IO映像基址是OxFFFFC0000
#define TIME *(volatile int *)(Time_Addr+2) //时间存放在基址+2的寄存器中
void SetMinutes(int minutes) 
{
    int oldtime=TIME;
    int newtime;
    newtime=oldtime&~(0x3F<<5);
    newtime|=(minutes&0x3F)<<5;
    TIME=newtime;

}

提取分钟

#define Time_Addr 0xFFFFC0000 //实时钟芯片的IO映像基址是OxFFFFC0000
#define TIME *(volatile int *)(Time_Addr+2) //时间存放在基址+2的寄存器中
int getMinutes() 
{
    int time=TIME;
    return (time>>5)&0x3F;
}

设置秒

#define Time_Addr 0xFFFFC0000 //实时钟芯片的IO映像基址是OxFFFFC0000
#define TIME *(volatile int *)(Time_Addr+2) //时间存放在基址+2的寄存器中
void SetSeconds(int seconds) 
{
    int oldtime=TIME;
    int newtime;
    newtime=oldtime&~0x1F;
    newtime|=(seconds/2)&0x1F;
    TIME=newtime;

}

提取秒

#define Time_Addr 0xFFFFC0000 //实时钟芯片的IO映像基址是OxFFFFC0000
#define TIME *(volatile int *)(Time_Addr+2) //时间存放在基址+2的寄存器中
int getSeconds() 
{
    int time=TIME;
    return (time&0x1F)*2; 
}

以上是关于嵌入式基础课后补交的主要内容,如果未能解决你的问题,请参考以下文章

3/29上午,3/27,和3月28下午补交

结合两个代码片段?将用户输入的 Youtube url 转换为嵌入 url,然后将 iframe src 替换为转换后的 url

20174315黄华健 Exp6 MSF基础应用 补交

[新增ST-001片段]全程字幕-20套UML+Enterprise Architect建模示范视频

JSP基础

20155207 EXP7 EXP8 EXP9 实验补交