智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 9177|回复: 18
打印 上一主题 下一主题

串口发回来的数据是乱码,怎么办啊?

  [复制链接]

2

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1143
威望
268
贡献
827
兑换币
0
注册时间
2009-3-6
在线时间
24 小时
跳转到指定楼层
1#
发表于 2010-5-15 11:04:24 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
#include <hidef.h>      /* common defines and macros */
#include <MC9S12XS128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
#define ROW_END 270  //最后采集的一行
#define ROW_START 45  //最先采集的一行
#define Row 46 //采集的图像行数
#define Line 46 //采集的图像列数

unsigned char row;         //行变量
unsigned char line;        //列变量
unsigned int rowcount;     //行计数器
unsigned char video[Row][Line];       //采集的图像信息


void init_PLL(void)  //CPU总线时钟60M
{
  SYNR=0xce;
                           
  REFDV=0x43;           
                     
  POSTDIV=0x00;  //bus period=16Mhz*(SYNDIV+1)/(REFDIV+1)=60M

  while(0==CRGFLG_LOCK);  //wait for VCO to stablize

  CLKSEL=0x80;  //open PLL
}

void init_PORT(void)  //端口初始化
{
  DDRT_DDRT0=0; //PT0作为奇偶场信号输入
  IRQCR_IRQE =1; //下降沿触发   
  IRQCR_IRQEN=0; //禁止外部IRQ使能
}

void init_AD(void)
{  
  ATD0CTL1=0x00;      //External trigge source is AN0,
                      //8-bit data,No discharge before sampling
  ATD0CTL2=0x60;    //quick clear CCFx,
                    //contine to transform under wait mode,
                    //Disable external trigger,
                    //ATD Sequence Complete interrupt requests are disabled,
                    //ATD Compare interrupt requests are disabled   
  ATD0CTL3=0x88;      //one transform in one sequence,
                      //No FIFO,Right justied,
                      //contine to transform under freeze mode   
  ATD0CTL4=0x01;    //four clocks,ATDCLK=[BusClock*0.5]/[PRS+1]=15M
  ATD0CTL5=0x20;      //Continuous Conversion Sequence Mode,
                      //Analog Input Channel is AN0
  ATD0DIEN=0x00;    //inhibit digital input  
}

void init_SCI(void)
{
  SCI0BDL=0x86;         //9600bps
  SCI0BDH=0x01;
  SCI0CR1=0x00;         //正常8位模式,无奇偶校验
  SCI0CR2=0x0c;         //允许查询方式收发
}

void SCI_Transmit(unsigned char ch)       //发送函数
{   
        //等待发送缓冲区空
        while (!(SCI0SR1&0x80));
        SCI0DRL=ch;
}

void image_change(void)
{
  char m;
  char n;
  for(m=0;m<Row;m++)
  {
    for(n=0;n<Line;n++)
    {
      if(video[m][n]>235) video[m][n]=235;
      SCI_Transmit(video[m][n]);
    }   
  }
}

void main(void)
{
  init_PLL();
  init_PORT();
  EnableInterrupts;
  for(;;)
  {  
    if(PTIT_PTIT0==1)
    {  
      while(PTIT_PTIT0==1);
      row=0;
      rowcount=0;
      IRQCR_IRQEN=1;
      while(rowcount<=ROW_END)
      {}      
      IRQCR_IRQEN=0;
      image_change();
    }
    else
    {
      while(PTIT_PTIT0==0);
      row=0;
      rowcount=0;
      IRQCR_IRQEN=1;
      while(rowcount<=ROW_END)
      {}
      IRQCR_IRQEN=0;
      image_change();
    }
  }
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 6 IRQ_ISR()
{
  rowcount++;
  if((rowcount>=ROW_START)&&(rowcount%5==0)&&(row<Row))
  {
    init_AD();
    for(line=0;line<Line;line++)                                       
    {
      while(!ATD0STAT2_CCF0);  
      video[row][line]= ATD0DR0L;
      //SCI_Transmit(video[row][line]);

    }  
    row++;
    ATD0CTL2=0x00;                 //清除AD缓存的数据,等待下一行的到来   
  }        
}

6

主题

207

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1781

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

威望
1030
贡献
505
兑换币
479
注册时间
2014-4-20
在线时间
123 小时
毕业学校
湖北工业大学
19#
发表于 2014-8-1 14:12:52 | 只看该作者
乱码困扰了两天了!!16进制才可以正常显示!无奈了!!
回复 支持 反对

使用道具 举报

19

主题

2430

帖子

0

精华

跨届大侠

这并没有什么卵用.

Rank: 10Rank: 10Rank: 10

积分
6595

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

威望
3611
贡献
1592
兑换币
1425
注册时间
2014-7-14
在线时间
696 小时
18#
发表于 2014-7-30 20:39:14 | 只看该作者
乱码缠上我了
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

高级会员

Rank: 4

积分
986
威望
454
贡献
280
兑换币
294
注册时间
2013-11-24
在线时间
126 小时
毕业学校
撮镇中学
17#
发表于 2014-5-9 21:48:28 | 只看该作者
x_yang1989723 发表于 2012-2-15 00:18
我们的也是乱码,改了波特率,也试着用十六进制显示,但还是乱码

最后怎么弄好的啊?
回复 支持 反对

使用道具 举报

0

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
363
威望
239
贡献
80
兑换币
5
注册时间
2012-7-15
在线时间
22 小时
16#
发表于 2012-8-25 23:36:45 | 只看该作者
zfc 发表于 2012-7-29 19:52
求问下你们乱码的问题解决了嘛?
我也总是乱码,都好多天了,好着急

我也是啊。。。。解决了吗??
回复 支持 反对

使用道具 举报

13

主题

42

帖子

0

精华

高级会员

Rank: 4

积分
683
威望
409
贡献
132
兑换币
52
注册时间
2012-2-26
在线时间
71 小时
15#
发表于 2012-7-29 19:52:27 | 只看该作者
x_yang1989723 发表于 2012-2-15 00:18
我们的也是乱码,改了波特率,也试着用十六进制显示,但还是乱码

求问下你们乱码的问题解决了嘛?
我也总是乱码,都好多天了,好着急
回复 支持 反对

使用道具 举报

11

主题

120

帖子

0

精华

高级会员

Rank: 4

积分
762

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

QQ
威望
488
贡献
166
兑换币
12
注册时间
2012-3-18
在线时间
54 小时
14#
发表于 2012-5-8 20:31:11 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
452
威望
331
贡献
77
兑换币
4
注册时间
2011-10-20
在线时间
22 小时
13#
发表于 2012-2-15 16:39:48 | 只看该作者
回复 支持 反对

使用道具 举报

12

主题

62

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
威望
472
贡献
601
兑换币
7
注册时间
2011-11-11
在线时间
43 小时
12#
发表于 2012-2-15 00:18:16 | 只看该作者
我们的也是乱码,改了波特率,也试着用十六进制显示,但还是乱码
回复 支持 反对

使用道具 举报

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
869
QQ
威望
676
贡献
107
兑换币
0
注册时间
2011-10-18
在线时间
43 小时
11#
发表于 2012-2-9 19:04:58 | 只看该作者
是个问题我就搞不定啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 22:07 , Processed in 0.349822 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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