智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 15606|回复: 25
打印 上一主题 下一主题

串口猎人:SCI发送代码及高级收码设置探讨

  [复制链接]

3

主题

20

帖子

0

精华

高级会员

Rank: 4

积分
528
威望
349
贡献
81
兑换币
0
注册时间
2011-10-18
在线时间
49 小时
跳转到指定楼层
1#
发表于 2012-4-8 12:50:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 寒冰萧 于 2012-4-8 12:53 编辑

第一次使用串口调试,想使用串口猎人。由于水平有限,反复调试代码猎人仍旧无法正常收到我想要的数据(我想发送一个整型,用猎人直接显示出来的也是整型)。昨天发了个求助帖,却引来了几位同病相怜的战友。经过通宵推敲,猎人显示的数据似乎有那么一点意思。这里把我之前的疑问写点自己的理解,望高手指点,也算是给其他疑惑的兄弟一点提示。
完整代码:

main.c:
#include <hidef.h>      /* common defines and macros */
#include <MC9S12XS128.h>     /* derivative information */
#include <stdio.h>                                                           

void SetBusCLK_80M(void)
{  
    CLKSEL=0X00;    //disengage PLL to system
    PLLCTL_PLLON=1;   //turn on PLL
    SYNR =0xc0 | 0x09;                       
    REFDV=0xc0 | 0x01;
    POSTDIV=0x00;       //pllclock=2*osc*(1+SYNR)/(1+REFDV)=160MHz;
    _asm(nop);          //BUS CLOCK=80M
    _asm(nop);
    while(!(CRGFLG_LOCK==1));   //when pll is steady ,then use it;
    CLKSEL_PLLSEL =1;          //engage PLL to system;
}
void SCI_Init(void)
{
  SCI0CR1=0x00;
    SCI0CR2=0x0c; //enable Receive Full Interrupt,RX enable,Tx enable                  
    SCI0BDH=0x02; //busclk=80M , 9600bps;
    SCI0BDL=0x09;                  
}            

/*The implementation of void_SCIWriteInt function*/
void void_SCIWriteInt(const int SCIdata)
{
  while(!SCI0SR1_TDRE);
  SCI0DRL = 0xff;
  while(!SCI0SR1_TDRE);
  SCI0DRL = (byte)(SCIdata>>8);
  while(!SCI0SR1_TDRE);
  SCI0DRL = (byte)(SCIdata);
  while(!SCI0SR1_TDRE);
  SCI0DRL = 0xfe;
}
extern byte by_SCIReadDataBuffer;
extern int SCIdata;
void main(void)
{
  DisableInterrupts;
  SetBusCLK_80M();  
  SCI_Init();
  EnableInterrupts;
  SCIdata = 4800;
  while(1)
  {
    void_SCIWriteInt(SCIdata);
  }  
}

基本功能界面:

高级收码界面:

波形显示界面:
以上是我的想法,望高手斧正。
还有,我想请教如何用中断进行SCI通讯。高级发码我也不懂,具体代码要怎么写。

最后附上串口猎人安装包:






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

11

主题

373

帖子

0

精华

常驻嘉宾

将军

Rank: 8Rank: 8

积分
4186

热心会员奖章推广达人奖章优秀会员奖章活跃会员奖章论坛元老奖章资源大师奖章

威望
1310
贡献
2292
兑换币
14
注册时间
2010-11-21
在线时间
292 小时
2#
发表于 2012-4-8 14:43:27 | 只看该作者
回复 支持 反对

使用道具 举报

5

主题

246

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1511

热心会员奖章推广达人奖章

威望
927
贡献
298
兑换币
14
注册时间
2010-9-18
在线时间
143 小时
3#
发表于 2012-4-8 14:56:26 | 只看该作者
哈醒123456 发表于 2012-4-8 14:43


回复 支持 反对

使用道具 举报

16

主题

352

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2535

优秀会员奖章活跃会员奖章

QQ
威望
888
贡献
1261
兑换币
10
注册时间
2011-8-31
在线时间
193 小时
4#
发表于 2012-4-8 15:57:58 | 只看该作者
何必纠结这个软件 自己写啊 。。。。
回复 支持 反对

使用道具 举报

11

主题

106

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
威望
577
贡献
231
兑换币
0
注册时间
2011-8-27
在线时间
102 小时
5#
发表于 2012-4-17 19:59:22 | 只看该作者
请问如何用串口猎人接收浮点型数据?
回复 支持 反对

使用道具 举报

0

主题

29

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
威望
197
贡献
57
兑换币
12
注册时间
2012-4-10
在线时间
22 小时
毕业学校
武汉理工大学
6#
发表于 2012-4-20 09:13:18 | 只看该作者
这个软件没用过...
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1099
威望
526
贡献
291
兑换币
44
注册时间
2012-3-27
在线时间
141 小时
毕业学校
成都大学
7#
发表于 2012-5-4 21:58:00 | 只看该作者
好人啊  
回复 支持 反对

使用道具 举报

10

主题

353

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1657
威望
1031
贡献
326
兑换币
60
注册时间
2012-2-23
在线时间
150 小时
8#
发表于 2012-5-17 19:15:36 | 只看该作者
kidbang 发表于 2012-4-17 19:59
请问如何用串口猎人接收浮点型数据?

我也想知道   不过现在就就用的传回来的整数  其实无所谓的
回复 支持 反对

使用道具 举报

0

主题

125

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1859
威望
825
贡献
426
兑换币
166
注册时间
2012-4-28
在线时间
304 小时
9#
发表于 2012-5-17 19:23:11 | 只看该作者
用BCD码传 带正负的
SCI用中断很简单 不过Freescale的中断机制确实有点恶心 有时候中断标志位清不掉。。
回复 支持 反对

使用道具 举报

6

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
威望
234
贡献
82
兑换币
6
注册时间
2012-3-30
在线时间
25 小时
毕业学校
百口莫辩
10#
发表于 2012-5-19 20:47:56 | 只看该作者
kidbang 发表于 2012-4-17 19:59
请问如何用串口猎人接收浮点型数据?

变成整形,要几位有效数字就弄弄好了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 13:39 , Processed in 0.066681 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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