amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 2563|回复: 6

SPI底层驱动加中间层软件的疑问

[复制链接]
发表于 2009-5-15 08:54:11 | 显示全部楼层 |阅读模式
有一段程序是这样的。
  void putspichar(uchar c)
   {
     while(tx_counter==size);
     。。。
     if(tx_counter||((SPSR&0X80)==0))    //发送缓冲区已有待发的数据或者SPI正在发送数据时
       {
          ;;;;;;
          tx_counter++;
        }
     ELSE                                //发送缓冲区空且SPI口空闲
       SPDR=c;                        
   }

  

   这个程序我有疑问请教:SPSR的最高标志SPIF是发送完成中断标志。刚开始时候,tx_couter(发送计数器)和SPIF为0,那么if(...)判断式为1,这样就无法启动SPI发送,无法执行ELSE语句。大家帮我分析看看。
 楼主| 发表于 2009-5-15 09:42:12 | 显示全部楼层
马老师,你这本书上的程序啊。有空解释吗
发表于 2009-5-15 11:25:34 | 显示全部楼层
这段有问题 马老师纠正过了 看勘误表
发表于 2009-5-15 11:46:26 | 显示全部楼层
请参考:http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=3319533&bbs_page_no=1&bbs_id=1003
 楼主| 发表于 2009-5-15 14:38:05 | 显示全部楼层
马老师,你那本书还有哪些勘误的?
发表于 2009-5-15 17:35:07 | 显示全部楼层
饭菜都已经摆到桌上了,总不能还要喂吧。有打字问的时间,多看几眼,点几下鼠标就有了。
头像被屏蔽
发表于 2011-12-20 16:41:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-9-16 17:14

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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