智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2456|回复: 3
打印 上一主题 下一主题

串口 G128

[复制链接]

16

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2561

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

威望
1316
贡献
757
兑换币
504
注册时间
2012-1-9
在线时间
244 小时
跳转到指定楼层
#
发表于 2012-3-27 17:22:18 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
2贡献
请问下 我这程序有什么问题 我接不到数据


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

// 函数声明
void SCI0_Init(void);
void SCI0_BR(void);
void SCI0_SendByte(char ch);
void Service_WD(void);
void SetBusClock_40MHz(void);

// 全局变量
char SCI_Flag = 0;
char SCI_Rev = 0;

void main(void) {
  /* put your own code here */

  SetBusClock_40MHz();

  SCI0_BR();
  SCI0_Init();

16

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2561

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

威望
1316
贡献
757
兑换币
504
注册时间
2012-1-9
在线时间
244 小时
3#
 楼主| 发表于 2012-3-29 16:22:44 | 只看该作者
流水青云 发表于 2012-3-29 00:30
我也有问题。。

问题已解决   是自己的硬件问题  换了硬件就好了
回复

使用道具 举报

0

主题

42

帖子

0

精华

高级会员

Rank: 4

积分
870
威望
495
贡献
191
兑换币
57
注册时间
2012-2-10
在线时间
93 小时
毕业学校
山东轻工业学院
2#
发表于 2012-3-29 00:30:04 | 只看该作者
我也有问题。。
回复

使用道具 举报

16

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2561

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

威望
1316
贡献
757
兑换币
504
注册时间
2012-1-9
在线时间
244 小时
1#
 楼主| 发表于 2012-3-27 17:23:14 | 只看该作者

        EnableInterrupts;

  SCI0_SendByte(0x01);
  SCI0_SendByte(0x02);
  SCI0_SendByte(0x03);

  for(;;) {
    _FEED_COP(); /* feeds the dog */

    if(SCI_Flag==1) {
      SCI_Flag = 0;
      SCI0_SendByte(SCI_Rev);   
    }

  } /* loop forever */
  /* please make sure that you never leave main */
}


void Service_WD(void)
{
   CPMUARMCOP = 0x55;
   CPMUARMCOP = 0xAA;
}
/*************总线频率40M***********/

  void SetBusClock_40MHz(void)
{   
  CPMUOSC_OSCE = 1; /* enable ext osc */  
  CPMUSYNR = 0xc0 | 0x04;      /* VCOFRQ[7:6], SYNDIV[5:0] */      
  CPMUREFDIV = 0xc0 | 0x01;     /* REFFRQ[7:6], REFDIV[3:0] */      
  CPMUPOSTDIV = 0x00;           /* POSTDIV = 0 FPLL = FVCO  */
  while(!CPMUFLG_LOCK);         /* wait for VCO to stabilize*/
   _FEED_COP();                                        
  CPMUCLKS_PLLSEL = 1;          /* Switch clk to use PLL    */
}


//串口初始化
void SCI0_Init(void)
{
  SCI0CR1 = 0x00;  /* 8 Data Bits, 1 Start Bit, 1 Stop Bit, No Parity */

  SCI0CR2 = 0x2C;  /* 使能接收中断;使能 Tx,Rx */

  /* SCIASR1, SCIACR1, SCIACR2, SCISR1, SCISR2, SCIDRH & SCIDRL left at default values */
}


//串口波特率设置
void SCI0_BR(void)
{

  /* Set the Baud Rate */
  SCI0BDH = 0x01;
  SCI0BDL = 0x04;           //波特率 9600
}

//串口发送字节
void SCI0_SendByte(char ch)
{
        /* check SCI transmit data register is empty */
        while(SCI0SR1_TDRE == 0);
        SCI0DRL = ch;       
}

//串口中断
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt VectorNumber_Vsci0  SCI0_ISR(void)
{  


  SCI0CR2_RIE=0;

  while(SCI0SR1_RDRF == 0);
  SCI_Rev = SCI0DRL;
  SCI_Flag = 1;

  SCI0CR2_RIE = 1;  
}
#pragma CODE_SEG DEFAULT

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 13:55 , Processed in 0.048785 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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