QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1817|回复: 3

继续问几个问题

[复制链接]
发表于 2005-7-2 18:59:15 | 显示全部楼层 |阅读模式
有问题没弄清楚,心里难受。有没有也在跟着李老师的step by step做实验的,一起讨论一下啊.

实验四:
  发送保持寄存器和发送移位寄存器之间是什么关系?
  应该是先往发送保持寄存器写入待发送的数据,然后再通过发送移位寄存器一位一位地发送吧?
  但是在44b0x中增加了发送FIFO和接收FIFO,这时操作时序又如何呢?
  在使能FIFO模式下,发送时是先往FIFO写,然后再往发送保持寄存器写,再通过发送移位寄存器发送呢,还是其它方式???
  接收时,是不是接收移位寄存器--->接收缓冲寄存器--->接收FIFO???
实验五:
  我使用的是SDT2.5,这时如果要实现printf功能,能不能像在ads下一样,重载fputc、ferror等???
实验五的奇怪现象:
   主程序中只是输出一次
   Demo printf
   hello, lumiter!
   test_rw = 0x2468, test_ro = 0x1357, test_bss = 0x0
   可是将程序烧写至flash后,复位后,超级终端上却输出两次上述字符串,这是怎么回事啊?
   另外,板子上的D6、D7变亮,而在程序中并没有设定让这两个led亮啊?

实验七:
  .s19是什么文件格式???
   为什么要将bin文件转换化uue格式之文件???
  如何生成uue文件呢?make lb时提示:uuencode不是内部或外部命令,也不是可运行的程序???

版主帮帮忙啊,呵呵
发表于 2005-7-3 09:18:12 | 显示全部楼层
1) 一般情况下通过 FIFO 模式只需要往发送数据寄存器直接写就行了,数据会自动送到 FIFO 中,超过 FIFO size 来不及发送的数据就无法送进 FIFO 。
2) 实现 printf 的方法和使用的编译器相关,重载 fputc 的办法你看看 sdt 安装目录下的文档里面有没有提到。
3) 这个问题我也碰到了,怀疑是 main 退出不正常,可以在程序最后加 while(1);
4) s19 也是一种可烧写的格式,uuencode 可以在 lumit 网站上下载到。

btw: 最后这个问题可以 google 一下,What is What 这样的问题不用找人问,网上很多资料都能告诉你答案。  
回复

使用道具 举报

 楼主| 发表于 2005-7-3 09:51:21 | 显示全部楼层
劳烦版主了,呵呵,谢谢!
回复

使用道具 举报

 楼主| 发表于 2005-7-3 10:29:50 | 显示全部楼层
版主:
   你的意思是不是说,44b0x的UART工作于FIFO模式时,要发送数据,只需往发送保持寄存器写待发送的数据,然后数据自动送到FIFO中,然后再从fifo移出至移位寄存器,一位一位发送出去。
   接收时,应该是接收移位寄存器->接收FIFO->接收缓冲寄存器?
    那么,这里加一个16B的FIFO主要作用是什么呢?
    谢了先!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-25 14:23 , Processed in 0.040435 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表