智能车制作

标题: 单片机开通了spi和多路pwm出现问题 [打印本页]

作者: chihua    时间: 2010-3-17 23:49
标题: 单片机开通了spi和多路pwm出现问题
求助!!我用XS128开通了PWM01,45通道来控制舵机和电机。没有问题,加上个spi驱动的液晶后,液晶显示不了,PWM45通道没有输出。去掉PWM45通道后,液晶可以显示。spi我用的是M4,M5口作mosi和SCK0的。用的最小系统是龙邱80pin的MC9s12xs128MMA。
请问是不是板的问题还是有什么地方要注意的??谢谢
作者: chihua    时间: 2010-3-18 08:29
pwm初始化为:

   DDRP = 0X3b; //电机 舵机 输出
  PWMCTL = 0X30; //0和1联合成16位PWM,P1输出控制舵机,23控制电机
  PWMCAE = 0X00; //选择输出模式为左对齐输出模式
  PWMCNT01 = 0;
  PWMCNT23 = 0; //计数器清零;
  PWMPOL = 0X0A; //先输出高电平,计数到DTY时,反转电平
  PWMPRCLK = 0X21; //clockA 2分频,clockA=busclock/2=20MHz;CLK B 4分频:10Mhz  
  PWMSCLA = 0x0A; //对clock A 20分频,pwm sa clock=clockA/20=1MHz;     
  PWMSCLB = 0X0A;    //对clock B 20 分频  500 khz Clock SB = Clock B / (2 * PWMSCLB)
  PWMCLK_PCLK1 = 1; //pwm1 选择clock SA做时钟源 pwm3 选择clock a
  PWMCLK_PCLK3 = 1; //SB
  PWMPER01 = 20000;
  //20000周期20ms; 50Hz;(可以使用的范围:50-200hz)10000用10ms时灵敏
  Servo_dty = 1500; //高电平时间为1.5ms;正中
  PWMPER23 = 1000; //电机频率         
  Motor_dty = 0; // 高电平时间为0
   PWME_PWME1 = 1;   //1,3输出,舵机,电机
  PWME_PWME3=1;

spi初始化为:
  MODRR = 0x10; //spi use m4 m5 port
  SPI0CR1 = 0x50;
  SPI0CR2 = 0x08;
  SPI0BR = 0x01; //BR=busclk/((SPPR + 1)· 2^(SPR + 1))
作者: chihua    时间: 2010-3-18 22:35
没人回答,自己改用PT口来输出PWM.可以正常工作。暂时这样先。希望有人有另外的解决方法。
作者: ming076    时间: 2010-5-4 14:27
我也是液晶没调出来,SPI的,现在也不知道问题在哪?很郁闷
作者: zuixian    时间: 2010-7-8 14:15
spi 沃野没用过




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