分类: LINUX
2008-09-30 13:02:15
原创:cursor
blog:http://blog.chinaunix.net/u2/77051
平台:QQ2440v3
参考: hisway.diy的《S
昨天早上顺利把实验六搞好了,小高兴了一把,因为那是后面实验的基础。下午起床就继续做实验七,所以把实验六中nand要修改的地方改了过来,但是实验七没有起来。认真分析了一下uart寄存器的设置,没有区别哦。
想起以前看到过相关的例子:http://blog.chinaunix.net/u2/60011/showart_471534.html 里面实验uart部分,比较分析了一下主要是输出部分putc()函数的参数用的是指针,而hisway.diy的文档用的是直接接收转发。我随后修改了与其相关的部分,呵呵,跑起来了。
还有波特率的设置问题,datasheet上面说用12M的时钟波特率最高可以设置为115200,但是根据我实验是无法达到,所以用了文档上面的57600,这样可以正常显示了。
从昨天到今天调这个程序也花了很长时间,主要是没有什么无法在这个阶段没有什么有效的调试手段。首先还是先用灯来判断代码是否能搬运成功,然后在init_uart()后用putc(unsigned char * c);来判断是否完成初始化。
完成之后我又从新尝试用putc(unsigned char c)来实验,也成功了,不过这种方式就是单个字符来发送输出无法实现字符串。
总结:首先是自己一开始就是觉得得通过led灯来判断是否成功,没有通过其他方式,比如init_uart()完成后通过打印个字符来看是否成功。其次是没有注意波特率设计部分。