智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

麻烦大家帮助分析一下我想发送数据0到99,但收到的为100个0

[复制链接]

17

主题

80

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1680
威望
974
贡献
374
兑换币
121
注册时间
2012-3-22
在线时间
166 小时
毕业学校
沈阳化工大学
跳转到指定楼层
1#
发表于 2012-3-30 09:41:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
void SCI0_Init(void);
void delay(void);
void SET_PLL(void);
void PWM_Init(void);
void SendChar(unsigned char text);
unsigned char loop_index;
void SCI0_Init(void)
{
SCI0BD=312.5;
SCI0CR1=0x00;
SCI0CR2=0x0c;
}
/*****************锁相环程序*****************/
void SET_PLL(void)
{ //设置锁相环时钟频率为48M
  SYNR=2;
  REFDV=1;           //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
  asm NOP;
  asm NOP;
  asm NOP;
  while((CRGFLG&0X08)==0);//等待锁相环频率锁定
  CLKSEL=0X80;            //选定锁相环时钟
}
void SendChar(unsigned char text)
{   while (!(SCI0SR1&0x80));
  SCI0DRH=0;
  SCI0DRL =text;
}
void delay(void)
{
unsigned int loop_i,loop_j;
for(loop_i=0;loop_i<500;loop_i++)
{
for(loop_j=0;loop_j<500;loop_j++)
{
;
}
}
}
/*****************PWM初始化程序***************/
void PWM_Init(void)
{
PWME=0X00;//关闭所有PWM输出
PWMPRCLK=0X22;//24M/4=6M
PWMSCLA=0X06; //6M/(2*6)=0.5M
PWMSCLB=0X03; //6M/(2*3)=1M
PWMCTL=0X20;  //通道2和通道2合并
PWMCLK=0X3C;  //通道23,4,5选择clocksA
PWMPOL=0X3C;  //PWM先输出高电平
PWMCAE=0X00;  //左对齐
PWMPER23=10000;//周期为10ms
PWMDTY23=1500;//输出角度为0度
PWMPER4 = 100; //5KHz
PWMPER5 = 100; //5KHz
PWMDTY4 =30;//初始速度设置为0
PWMDTY5 =0;
PWME=0X3C;//开启PWM23,PWM4,PWM5
}
void main(void)
{
//unsigned char loop_index;
SCI0_Init();
PWM_Init();
for(loop_index=0;loop_index<100;loop_index++)
{
while(!SCI0SR1_TDRE)//等待发送缓冲区空
SCI0DRL=loop_index;
SendChar(SCI0DRL);
PWMDTY4 =15;  
delay();
}
   while(1)
{
}
}

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

本版积分规则

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

GMT+8, 2024-9-22 02:08 , Processed in 0.045050 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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