智能车制作

标题: g128的编译链接总是出错 [打印本页]

作者: yangguangyu    时间: 2012-12-3 11:02
标题: g128的编译链接总是出错
本帖最后由 yangguangyu 于 2012-12-3 11:08 编辑

#include"pll.h"


void pll_init()                  //32M频率
{
   CPMUCLKS_PLLSEL=0;
   CPMUOSC_OSCE=1;
   CPMUSYNR=0x00|0x0f;
   CPMUREFDIV=0x00|0x07;
   CPMUPOSTDIV=0x00;

   _asm(nop);
   _asm(nop);
   while(!CPMUFLG_LOCK);

   CPMUCLKS_PLLSEL=1;
   CPMUPROT=0xff;
}

void MCU_init()
{
  IRQCR_IRQEN=0;    //禁止IRQ中断
  CPMUCOP=0x00;       //禁止看门狗
}

这个程序不知道是不是有错,大侠们帮看一下,不知道有没有群或者qq可以加一下,现在一点点问题就搞不定了
以前是用keil,有错在网上一下就可以搜到,现在刚接触codewarrior,出错在百度上还搜不到,悲剧啊!还望高手
指点 [attach]36141[/attach][attach]36142[/attach]


void steer(uint8 duty_ms) {    switch(duty_ms*10)   
{            
case 50 WMDTY1=15000;   //-90      //舵机转角
case 80 :PWMDTY1=25600;  //-60      
case 90 :PWMDTY1=28800;  //-54     
case 100:PWMDTY1=32000;  //-45      
case 110:PWMDTY1=35200;  //-36      
case 115:PWMDTY1=36800;  //-31.5     
case 120:PWMDTY1=38400;  //-27      
case 125:PWMDTY1=40000;  //-22.5   
  case 130:PWMDTY1=41600;  //-18      
case 135:PWMDTY1=43200;  //-13.5     
case 140:PWMDTY1=44800; //-9      
case 145:PWMDTY1=46400;  //-4.5      
case 150:PWMDTY1=48000;  //0      
case 155:PWMDTY1=49600;  //4.5      
case 160:PWMDTY1=51200;  //9     
case 165:PWMDTY1=52800;  //13.5      
case 170:PWMDTY1=54400;  //18      
case 175:PWMDTY1=56000;  //22.5     
case 180:PWMDTY1=57600;  //27     
case 185:PWMDTY1=59200;  //31.5     
case 190:PWMDTY1=60800;  //36      
case 195:PWMDTY1=62400;  //40.5     
case 200:PWMDTY1=64000;  //45      
case 210:PWMDTY1=67200;  //54      
case 220:PWMDTY1=70400;  //60   
}
}
我的qq:929678754




作者: 穆旦阿斗    时间: 2012-12-3 11:06
275550505 扣扣群号
作者: yangguangyu    时间: 2012-12-3 11:12
穆旦阿斗 发表于 2012-12-3 11:06
275550505 扣扣群号

非常感谢,但是群好像满了,能拉一下吗?

作者: zjh328986199    时间: 2012-12-3 11:43
possible loss of data:
按字面意思就能看出来:可能丢失数据
原因是:
PWMDTY1是8位的寄存器,最大只能到255,你给它几万怎么可能存进去,当然要数据丢失了。

如果你用的是PWM的级联模式:
那就要用PWMDTY01/PWMDTY23/...
但是它也就16位,不可能存超过65535以上的数,超过65535也是要报错的。

作者: yangguangyu    时间: 2012-12-3 11:59
zjh328986199 发表于 2012-12-3 11:43
possible loss of data:
按字面意思就能看出来:可能丢失数据
原因是:

嗯嗯,对的,但是40000多的应该没问题啊!我已经级联了,应该只有后面的几个溢出了,但是它说的好像我的PWMDTY01,那一块都有问题啊

作者: yangguangyu    时间: 2012-12-3 12:05
yangguangyu 发表于 2012-12-3 11:59
嗯嗯,对的,但是40000多的应该没问题啊!我已经级联了,应该只有后面的几个溢出了,但是它说的好像我的P ...

哦哦,刚刚发现了原来PWMDTY01被我写成了PWMDTY1,呵呵,新手老犯错。。。。不过我的周期设置的好像有点问题
640000(32m),我是想让舵机的周期刚好是20ms。640000/32000000刚好20ms,,这个即使是16位的也会溢出啊!不知道帅哥这里是怎么解决的,你设置周期的是多少啊,方便透露一下吗?谢谢!!

作者: zjh328986199    时间: 2012-12-3 15:38
你可以将总线时钟分频来得到PWM时钟,又不一定要用32M的总线时钟的。。。
作者: yangguangyu    时间: 2012-12-3 16:19
zjh328986199 发表于 2012-12-3 15:38
你可以将总线时钟分频来得到PWM时钟,又不一定要用32M的总线时钟的。。。

嗯嗯,好了,16分频了一下,现在好了!但是一直有警告啊!就是第一个图的什么隐参数之类的,不知道咋搞的





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2