智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2298|回复: 0
打印 上一主题 下一主题

关于输出比较!急,在线等。

[复制链接]

2

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
249
威望
198
贡献
45
兑换币
16
注册时间
2010-7-7
在线时间
3 小时
跳转到指定楼层
1#
发表于 2010-7-7 16:40:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 第8个伙伴 于 2010-7-7 16:52 编辑

我现在用输出比较功能实现串行数据的输出,用通道0作为输出比较,引脚接到串口的发生端S0,芯片是MC9S12XEP100。
初始化都做好了,能够进入中断,现在就是发送数据这段卡住了,发送不出去。
下面是本人写的程序,不知道对不对。波特率是9600,8个数据位,一个停止位。总线频率为16MHZ,分频为0.
__interrupt 8 void ISR_TimerChan0(void)
{
      ECT_TSCR1|=(1<<7);//清空标志位
       ECT_TFLG1=0x01;
       asm "sei";  //关中断
      a=SCI_received();
    // 发送起始位
    ECT_TC0=ECT_TCNT+1666;
    ECT_TCTL2=0x02;
    while(ECT_TCNT<ECT_TC0) ;

      //发送输入数据
     for(i=0;i<8;i++)
        {
       b=a;
       b&=(1<<i);
      // ECT_TCNT=0;
       ECT_TC0=ECT_TCNT+1666;   
         if(b)
         {  
           ECT_TCTL2=0x03;
       //    ECT_TCNT=0;
           while(ECT_TCNT<ECT_TC0);
            
          }
         else
          {
             ECT_TCTL2=0x02;
             while(ECT_TCNT<ECT_TC0);
            //    ECT_TCTL2=0x02;         
          }   
       }
   
    //发送停止位
    ECT_TC0=ECT_TCNT+1666;
    ECT_TCTL2=0x03;

    while(ECT_TCNT<ECT_TC0);

      ECT_TFLG1 |= (1<<0);
      ECT_TSCR1=0x80;
      asm "cli";
}   
跪求解答!!!在线等
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 21:30 , Processed in 0.083184 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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