搜索
bottom↓
回复: 2

spi不能连续发送吗?

[复制链接]

出0入0汤圆

发表于 2005-6-20 11:08:11 | 显示全部楼层 |阅读模式
如题,以下是我的部分代码:

  #include <iom8v.h>

  #include <macros.h>

  #include <stdio.h>



void port_init(void)

{

PORTB = 0x10;

DDRB  = 0x2C;

PORTC = 0x21; //m103 output only

DDRC  = 0x26;

PORTD = 0x22;

DDRD  = 0x09;

}



void spi_init(void)

{

SPCR = 0xD0; //setup SPI

SPSR = 0x00; //setup SPI

}



void init_devices(void)

{

//stop errant interrupts until set up

CLI(); //disable all interrupts

port_init();

spi_init();



MCUCR = 0x00;

GICR  = 0x00;

TIMSK = 0x00;

SEI();  

}

void  sends(unsigned char x){

    WDR();

    while(k != 0);

        k = x;

    DDRB |= 0x08;//DDRB.2=1;  

        PORTB &= ~0x08;//PORTB.2 = 0;

        tt = 1;

    SPDR = 0xAF;

        SPCR |= 0x80;//SPIE = 1;

}



#pragma interrupt_handler spi_stc_isr:11

void spi_stc_isr(void)

{

if(tt < k){

     SPDR = ttt[tt];

     tt++;

         PORTC ^= 0x20;

}

else{

     k = 0;

         DDRB &= ~0x08;//DDRB.2=0;       

         PORTB |= 0x08;//PORTB.2 = 1;

}

}





void main(void)

{

  CLI();

  init_devices();

  SEI();

  ttt[1] = 0x66;

  ttt[2] = 0x77;

  ttt[3] = 0x88;

  sends(4);

  ttt[1] = 0x44;

  ttt[2] = 0x55;

  ttt[3] = 0x66;

  sends(4);

}



我用了M8从机作接收,接收到的用串口发出来,在PC机上就串口助手接收,结果是收到 A5 44 55 66,仿真的时候显示,执行到第一次sends(4)的时候发完A5之后就没有进入中断,跳出来执行ttt[1]=0x44;了继而执行第二次sends(4),请问马老师这是什么原因?

-----此内容被noname于2005-06-20,11:24:03编辑过



-----此内容被noname于2005-06-20,14:51:03编辑过


-----此内容被noname于2005-06-24,08:37:20编辑过

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2005-6-22 09:51:05 | 显示全部楼层
不想还没人解答就沉了,请各位帮忙,谢谢

出0入0汤圆

发表于 2005-7-13 13:19:48 | 显示全部楼层
基于中断发送,可是你把中断打开了吗??

好像只有CLI()

而没有SEI()
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-19 23:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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