热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PA2.3

请先确保完成pa2.2,现在bug不改,后面迟早要回去填坑。1.正确实现in和out指令依旧参照手册完成,不同的是调用的函数不是rtl函

请先确保完成pa2.2,现在bug不改,后面迟早要回去填坑。


1.正确实现in 和out指令

    依旧参照手册完成,不同的是调用的函数不是rtl函数,而是pio_read和pio_write。
    in就是从设备输入到cpu,out就是输出到设备。因此从设备寄存器获取数据,使用inb或者inl,用法为in(端口号),返回值即为寄存器中的值。


2.实现串口功能

    正确实现in和out指令,打开串口宏HAS_SERIAL即可。
    这里写图片描述


3.实现时钟功能

    实现_uptime函数。修改返回值即可。由于设备寄存器中存储的是当前时间,为得到相对时间,应和开始的时间作差。如何得到开始的时间,_uptime上面的初始化函数里有。
    这里写图片描述


4.实现键盘功能

    if(状态为1) then 返回设备寄存器的值; else 返回_KEY_NONE;
    提示:inl不行还有inb
    这里写图片描述


5.实现图形功能

    将pixels数组的值一一对应赋值给fb即可,如何对应看讲义描述。
    这里写图片描述
    这里写图片描述


6.其他

    根据程序的顺序来完成2.2的在2.3中会有新的指令需要填写,而且2.2通过的指令在2.3中也可能触发bug。从2.3开始,一般情况下关闭diff-test和debug,仅在调试需要时才打开,不然会非常非常非常非常的慢,而且si单步调试的时候,si几十万是没问题的。


推荐阅读
author-avatar
blue秋夜听雨321
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有