智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5401|回复: 12
打印 上一主题 下一主题

[单片机] sci问题~~~~~~~~~~~在线等

[复制链接]

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
威望
189
贡献
22
兑换币
0
注册时间
2009-2-21
在线时间
30 小时
跳转到指定楼层
#
发表于 2009-4-10 19:16:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1贡献
我的板子是mc9s12xs128,清华的,刚拿回来的,试了一下龙丘的pwm实例程序:http://blog.21ic.com/user1/3833/archives/2009/55974.html超级终端能收到数据并能正确的显示;但是发送数据时,单片机收到,中断也进入不了,串口调试助手也一样。一样的程序,我们实验室另外一组的就行,不知道为什么?????????????还有论坛上的帖子我都看过了,该改的方法我也试过了,但是还是不行。求救啊~~~~~~~~~

3

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
QQ
威望
285
贡献
47
兑换币
14
注册时间
2010-11-3
在线时间
21 小时
12#
发表于 2011-3-24 21:12:47 | 只看该作者
应该是代码问题吧,还有你看下程序下载进去没。。。。。。。。。。。。
给你个代码试试,我测试通过的!!!

//------------------------------------------------------------------------------------------------------------------//
//功能说明:MC9S12XS128--SCI例程
//使用说明:实现PC→MCU→PC通信,用户可以根据需要修改程序,实现PC→MCU或者MCU→PC通信
//程序设计:电子设计吧【www.dzsj8.com
//设计时间:2010.01.21
//----------------------------------------------------------------------------------------------------------------//

#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

//unsigned char txt[]={"Hello World!"} ;
void delay(unsigned int time)
{
unsigned int i,j,k;
for(i=0;i<125;i++)
  for(j=0;j<125;j++)
     for(k=time;k>0;k--);
}

//-----------------------初始化SCI0----------------------------//
void SciInit()
{
    SCI0BD=52;         //9600bps  Baud Rate=BusClock/(16*SCIBD)
    SCI0CR1=0;         //正常8位模式,无奇偶校验
    SCI0CR2=0X2C;      //发送允许   接受中断允许  
}

//----------------------读SCI数据-----------------------------//
unsigned char SciRead()
{
    if(SCI0SR1_RDRF==1)     //表明数据从位移寄存器传输到SCI数据寄存器
      {
      SCI0SR1_RDRF=1;     //读取数据寄存器会将RDRF清除  重新置位
      return SCI0DRL;        //返回数据寄存器的数据
      }
}

//-----------------写SCI数据---------------------------------//
void SciWrite(unsigned char sendchar)
{
    while (!(SCI0SR1&0x80));
    SCI0DRH=0;
    SCI0DRL=sendchar;
}

//------------------------main----------------------------------//

void main(void)
{
unsigned char ch;
SciInit();
EnableInterrupts;
DDRB=0X55;
while(1){
回复

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
威望
186
贡献
22
兑换币
0
注册时间
2008-11-29
在线时间
15 小时
11#
发表于 2009-6-11 09:45:11 | 只看该作者
哪个解决了说一下啊,呵呵,烦啊!!
回复

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
威望
186
贡献
22
兑换币
0
注册时间
2008-11-29
在线时间
15 小时
10#
发表于 2009-6-11 09:37:50 | 只看该作者
10# zf12862177 我现在也在为这个问题烦啊,有没有人调出来了????
回复

使用道具 举报

0

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
491
QQ
威望
225
贡献
20
兑换币
0
注册时间
2009-1-16
在线时间
123 小时
9#
发表于 2009-4-12 08:03:07 | 只看该作者
那还不简单。。。。不是如果sci的代码一样。那就是你的这段程序,没有在开始开中断,没有开全局中断,或者sci接受终端
回复

使用道具 举报

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
336
威望
240
贡献
64
兑换币
42
注册时间
2009-2-25
在线时间
16 小时
8#
发表于 2009-4-11 12:52:51 | 只看该作者
死了~~~~
回复

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
威望
189
贡献
22
兑换币
0
注册时间
2009-2-21
在线时间
30 小时
7#
 楼主| 发表于 2009-4-10 22:27:59 | 只看该作者
不要死了啊~~~呼叫版主~~~~~~~呼叫~~~~版主~~~~
回复

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
威望
189
贡献
22
兑换币
0
注册时间
2009-2-21
在线时间
30 小时
6#
 楼主| 发表于 2009-4-10 21:48:26 | 只看该作者
单步调试~~~~一直输入
回复

使用道具 举报

14

主题

586

帖子

0

精华

禁止发言

事人

积分
3226
威望
988
贡献
1966
兑换币
62
注册时间
2008-9-5
在线时间
136 小时
5#
发表于 2009-4-10 20:55:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0

主题

57

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
威望
241
贡献
28
兑换币
0
注册时间
2008-12-19
在线时间
46 小时
4#
发表于 2009-4-10 20:20:07 | 只看该作者
回复

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
威望
189
贡献
22
兑换币
0
注册时间
2009-2-21
在线时间
30 小时
3#
 楼主| 发表于 2009-4-10 20:16:04 | 只看该作者
撑起了~~~不能死了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-10 13:23 , Processed in 0.067315 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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