智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1694|回复: 2
打印 上一主题 下一主题

[软件类] sci通信的问题求大神解

[复制链接]

9

主题

76

帖子

0

精华

高级会员

Rank: 4

积分
523
威望
329
贡献
104
兑换币
4
注册时间
2012-4-9
在线时间
45 小时
毕业学校
石家庄铁道大学
跳转到指定楼层
1#
发表于 2012-6-18 16:39:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */





static unsigned int waittime=0;
  void SetBusCLK_32M(void)
{   
    MMCCTL1=0X00;
    PKGCR=0X06;
    DIRECT=0x00;
    IVBR=0xFF;   
    ECLKCTL=0xC0;
   
    CPMUPROT   =0x26;   //停止保护时钟配置寄存器
    CPMUCLKS   =0x80;   //允许PLL分频
    CPMUSYNR   =31;     //设置分频因子      
    CPMUPOSTDIV=0x00;   // Set the post divider register  
    CPMUPLL    =0x10;   // Set the PLL frequency modulation  
    while(CPMUFLG_LOCK == 0);          /* Wait until the PLL is within the desired tolerance of the target frequency */
   
    CPMUPROT=0x00;            /* Enable protection of clock configuration registers */
}


void ECT0_Init(void)

{

TIOS=0x01;  //工作方式选择,定时器通道零设置为输出比较
TC0=0x00EE;  //赋初值,当TCNT从0计数到此值时第一次进入中断
TCTL2=0x02;//输出比较器,OC0输出比较成功后清零。其他口与定时器断开,为普通IO口
TSCR2=0x06;//64分频,通道七成功输出比较后计数器将被复位
TSCR1=0x80;//使能定时器
TIE=0x01;//通道0输出比较允许



}


/*串口初始化*/
void SCI_Init(void)
{
  SCI0BD = 0x0D0;     //波特率9600bps
  SCI0CR1 = 0;     //正常8位模式,无奇偶效验
  SCI0CR2 = 0x2C;  //接收中断允许
}
/*串口发送函数*/
void SCI_TXD(void)
{
  byte tmp;

  while (!(SCI0SR1 & 0x80));  //等待清空缓冲区
SCI0DRH = 0x00;           //发送一个字节,高位置零
SCI0DRL = 22;           //发送数据

SCI0SR1=0x0B0;            //清除标志
}

void main(void)

{
  /* put your own code here */
  
    DisableInterrupts;
  
  SetBusCLK_32M();
  ECT0_Init();
  DDRD=0xFF;
  PORTD=0x0F;
  SCI_Init();
  DDRB = 0xFF;
  PORTB = 0x00;
  EnableInterrupts;


  for(;;) {
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}


#pragma CODE_SEG NON_BANKED


void  interrupt 8 Timer0_ISR(void)

   {
   
   unsigned int m;
   
    TFLG1=0x01;  //清中断标志位
    DisableInterrupts;
    m=TCNT ;
    TC0=m+2500 ;
    SCI_TXD();  
   
   }


各位大神看看这个程序,单步运行还可以发数。持续运行就跑费是咋回事???


9

主题

76

帖子

0

精华

高级会员

Rank: 4

积分
523
威望
329
贡献
104
兑换币
4
注册时间
2012-4-9
在线时间
45 小时
毕业学校
石家庄铁道大学
2#
 楼主| 发表于 2012-6-18 16:42:34 | 只看该作者
还有谁会用串口猎人的高级收码啊?通道选择有根据功能码筛选是咋回事???
回复 支持 反对

使用道具 举报

21

主题

892

帖子

0

精华

常驻嘉宾

爱板者

Rank: 8Rank: 8

积分
3857

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
1833
贡献
1048
兑换币
736
注册时间
2012-12-4
在线时间
488 小时
3#
发表于 2013-1-3 14:41:52 | 只看该作者
juliaレ葛 发表于 2012-6-18 16:42
还有谁会用串口猎人的高级收码啊?通道选择有根据功能码筛选是咋回事???

能把你简单的收发数据程序发到我邮箱吗 我用的串口猎人 收不到数据 求解  891876745@qq.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-10 20:37 , Processed in 0.042095 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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