导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[可乐泡饭]用I/O口接受模拟SPI发送过来的数据的



No.89408
作者:可乐泡饭
邮件:yangrong2001@hotmail.com
ID:48024
登陆:1次
文章数:1篇
最后登陆IP:61.155.219.39
最后登陆:2006/3/2 13:12:27
注册:2006/2/26 10:48:56
财富:105
发帖时间:2006/2/26 11:03:12
发贴者IP:222.93.43.116
标题:可乐泡饭:用I/O口接受模拟SPI发送过来的数据的程序是否有问题(请指错)
摘要:No.89408用I/O口接受模拟SPI发送过来的数据的程序是否有问题(请指错) 我把我用I/O口来接受以模拟SPI形式发送的数据的程序贴上来,请各位大虾指点错误,先说明我这部分只是接受数据,然后来显示,无发送(单工的)

为了让大家更好理解,我先贴主机数据是如何发送滴:)
DISD[]数组为存放的数据,此程序发送5个数据,每个数据只发送6位而不是8位
  
   P2B=0x10;                      //P2B是8255的B口,以B口的位4做CS片选
   for(i=0;i  <5;i++){
    for(j=0;j  <6;j++){
        a=_cror_(DISD[i],2);     //右移两位
        P2B=((a&0x08)|0x04);     //B口的位3为SDA,位2为SCK
        nop(50);
        P2B=(a&0x08);
        DISD[i]=_crol_(DISD[i],1); //左移一位
    }
   P2B=0x10;                      //关片选CS,CS低有效

以上为主机发送的关键部分

接下来就是我写的接受部分啦(请指错)

void rece(void)                       //模拟PSI接受
{     
     
     while(!RA1){;}                 //RA1接CS片选,等待CS下降沿
     while(RA1){;}                  //所有串行数据传输开始于CS下降沿
            
     for(i=0;i  <5;i++)                      //一次发送5数据
         {
          for(j=0;j  <6;j++)                 //一个数据6位
            {
              while(RB0){;}          ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:7276毫秒 查询6次