我的原理图是30mhz晶振,结果板子上是25的,我用官方例子6倍频以后,总是出现各种错误是怎么回事啊?还需要改其他地方吗,请帮帮我,纯新手,谢谢
shengxiang wu:
还有,怎么测试我的晶振呢,求教,谢谢大家
我的原理图是30mhz晶振,结果板子上是25的,我用官方例子6倍频以后,总是出现各种错误是怎么回事啊?还需要改其他地方吗,请帮帮我,纯新手,谢谢
shengxiang wu:
回复 shengxiang wu:
新手真的不容易啊……
我的原理图是30mhz晶振,结果板子上是25的,我用官方例子6倍频以后,总是出现各种错误是怎么回事啊?还需要改其他地方吗,请帮帮我,纯新手,谢谢
mangui zhang:
频率是有一定范围的 同时也不是说最高频率为200M
那么200M以下都可以随便用 是有一定的规律的
MCU的外设较多 并且不同的外设有不同的频率 你设定的不寻常频率可能
造成某一个外设出现问题
我的原理图是30mhz晶振,结果板子上是25的,我用官方例子6倍频以后,总是出现各种错误是怎么回事啊?还需要改其他地方吗,请帮帮我,纯新手,谢谢
mangui zhang:
回复 shengxiang wu:
最好的办法就是用示波器看看out脚有没有波形输出
如果没有示波器 那么用万用表看看波形输出引脚的直流电压
一般为1.2V左右为正常 只是我的一点经验 供参考
我的原理图是30mhz晶振,结果板子上是25的,我用官方例子6倍频以后,总是出现各种错误是怎么回事啊?还需要改其他地方吗,请帮帮我,纯新手,谢谢
shengxiang wu:
回复 mangui zhang:
有示波器,问题是程序跑不对也可以测时钟吗?程序总出问题呐
我的原理图是30mhz晶振,结果板子上是25的,我用官方例子6倍频以后,总是出现各种错误是怎么回事啊?还需要改其他地方吗,请帮帮我,纯新手,谢谢
Eric Ma:
回复 shengxiang wu:
你导入一个TI官网的历程,里面就会有配置时钟的历程:
一般在InitSysCtrl(); 里面
// Select Internal Oscillator 1 as Clock Source (default), and turn off all unused clocks to // conserve power. IntOsc1Sel(); // 配置时钟源,你可以先用内部时钟先测试一下
// Initialize the PLL control: PLLCR and CLKINDIV // DSP28_PLLCR and DSP28_CLKINDIV are defined in F2806x_Examples.h InitPll(DSP28_PLLCR,DSP28_DIVSEL); //分频,这个配置后系统就输出xxMHz的SYSCLKOUT
如果你要验证一下你配置的SYSCLKOUT,则可以利用XCLKOUT引脚,通过XCLKOUTDIV 位对SYSCLKOUT分频输出到该引脚,用示波器测。
ERIC
我的原理图是30mhz晶振,结果板子上是25的,我用官方例子6倍频以后,总是出现各种错误是怎么回事啊?还需要改其他地方吗,请帮帮我,纯新手,谢谢
wenshuai song:
#include "DSP280x_Examples.h"
这个头文件里面
/*—————————————————————————– Specify the PLL control register (PLLCR) and clock in divide (CLKINDIV) value.
if CLKINDIV = 0: SYSCLKOUT = (OSCCLK * PLLCR)/2 if CLKINDIV = 1: SYSCLKOUT = (OSCCLK * PLLCR)—————————————————————————–*/#define DSP28_CLKINDIV 0 // Enable /2 for SYSCLKOUT//#define DSP28_CLKINDIV 1 // Disable /2 for SYSCKOUT
#define DSP28_PLLCR 10//#define DSP28_PLLCR 9//#define DSP28_PLLCR 8//#define DSP28_PLLCR 7//#define DSP28_PLLCR 6 // Uncomment for 60 MHz devices [60 MHz = (20MHz * 6)/2]//#define DSP28_PLLCR 5//#define DSP28_PLLCR 4//#define DSP28_PLLCR 3//#define DSP28_PLLCR 2//#define DSP28_PLLCR 1//#define DSP28_PLLCR 0 // PLL is bypassed in this mode
如果你是六倍的话 就是 25*6=150 然后还有一个 Enable /2 for SYSCLKOUT 就是75 了
这里把75的屏蔽去掉
//#define CPU_RATE 10.000L // for a 100MHz CPU clock speed (SYSCLKOUT)#define CPU_RATE 13.330L // for a 75MHz CPU clock speed (SYSCLKOUT)//#define CPU_RATE 16.667L // for a 60MHz CPU clock speed (SYSCLKOUT)//#define CPU_RATE 20.000L // for a 50MHz CPU clock speed (SYSCLKOUT)//#define CPU_RATE 33.333L // for a 30MHz CPU clock speed (SYSCLKOUT)//#define CPU_RATE 41.667L // for a 24MHz CPU clock speed (SYSCLKOUT)//#define CPU_RATE 50.000L // for a 20MHz CPU clock speed (SYSCLKOUT)//#define CPU_RATE 66.667L // for a 15MHz CPU clock speed (SYSCLKOUT)//#define CPU_RATE 100.000L // for a 10MHz CPU clock speed (SYSCLKOUT)
各种外设的时钟参考数据手册吧