智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

急急急!大神帮我看下代码,飞思卡尔通信示例小程序。

[复制链接]

1

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
179
威望
132
贡献
41
兑换币
0
注册时间
2012-2-17
在线时间
3 小时
毕业学校
信工大学
跳转到指定楼层
1#
发表于 2012-5-4 16:13:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用在线调试的时候发现状态寄存器SCIRDL的值不会改变。
然后我用SCI0对应引脚无法输出数据,换用SCI1能输出数据,但是输出的数据不对,比如程序上是0X01,输出就是0X06,程序上是0x02,输出是0x18.

我怀疑板子坏了,哪个大神可帮调试下?

程序如下:
#include <hidef.h>     
#include <MC9S12XS128.h>   
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"

void SCIInit(void)
{
    unsigned char t;
    //定义波特率Bt=9600,SCI1BD=fBUS/(16*Bt)
    SCI1BDH = 0x00;    //再给低8位赋值
    SCI1BDL = 0x68; //须先给高8位赋值//主频16M  
    SCI1CR1 = 0x00;    //设置允许SCI,正常码输出,8位数据,无校验
    t = SCI1DRL;       //读数据寄存器(清0)
    t = SCI1SR1;       //读状态寄存器(清0)
    SCI1CR2 = 0x2C;    //允许SCI1接收和发送 查询方式
}
void main()
{
DisableInterrupts;
     SCIInit();     
     EnableInterrupts;
    while(1)  
    {
      while(SCI1SR1_TDRE!=1); //这句话很重要,第一个发送完在发送第二个,否则发送错误
      SCI1DRL= 0x01;
      }
}
硬件连接方式:单独的板子上的S3口接 串口,并供电。其他脚都悬空。

我怀疑板子坏了,哪个大神可帮调试下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-21 01:21 , Processed in 0.066139 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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