打印

张明峰老师,请教您一个问题

[复制链接]
2092|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiang_5288|  楼主 | 2007-12-1 12:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在你的入门与实站那本书里有一个关于串口发送的问题,
cblock       0x0020     
  TxBuff   :8           ;定义8个字节的发送缓冲区队列
  TxPtr                 ;发送数据指针
  TxCount
  endc
中断中的程序是:
    MOVLW   TxBuff             ;取发送队列的首地址
    MOVWF   FSR                ;送FSR准备间接寻址
    MOVF    TxPtr,W            ;取当前数据的偏移指针
    ADDWF   FSR,f              ;FSR指向实际数据
    MOVF    INDF,W             ;从队列中读取数据
    MOVWF   TXREG              ;放入TXREG开始发送
我把这程序用在18F452中可以吗,我把FSR改为FSR0,INDF改成INDF0是不是就可以了?
那位知道的给我讲解一下,谢谢啊!16F877的间接寻址和18F452的是不是不一样?
沙发
xiang_5288|  楼主 | 2007-12-1 12:55 | 只看该作者

张明峰老师,请教您一个问题

当运行到
    MOVLW   TxBuff             ;取发送队列的首地址
    MOVWF   FSR                ;送FSR准备间接寻址
时我观察FSR0寄存器的值根本没有改变,正确的应该时Txbuff的地址啊

知道的兄弟帮忙解释一下

使用特权

评论回复
板凳
yewuyi| | 2007-12-1 13:24 | 只看该作者

掌握思想就好,切勿生搬硬套……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

97

帖子

2

粉丝