共2条
1/1 1 跳转至页
149,P5,SMCLK 用149的P5.5做SMCLK的问题

问
晶体选择XT2,8M,4分频。有时能在SMCLK输出上得到2M的信号,但大部分是不到1k的信号,设置没有错误,不知是什么原因?会不会是MSP430内部设计的缺陷?
答 1:
电容是否匹配?
答 2:
SMCLK信号是没问题的,因为我也用它做串口时钟,串口正常。
答 3:
能不能贴出程序?
答 4:
程序很简单:
BCSCTL1 &= ~XT2OFF ; // XT2on
do // 等待晶振开始工作
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (ci=0xFF; ci>0; ci--) ; // Time for flag to set
}while ( (IFG1&OFIFG)!=0 ) ; // OSCFault flag still set?
// BCSCTL2 |= SELM1 + SELS ; // MCLK = SMCLK = XT2
BCSCTL2 = 0x8c ; // MCLK=XT2, SMCLK=XT2/4
// 各端口初始化
P1DIR = 0x60 ;
P2DIR = 0xff ;
P3DIR = 0x4f ;
P4DIR = 0xff ;
P5DIR = 0x20 ;
P5SEL = 0x20 ;
请大家帮忙分析一下 答 5: 是否和外部电路有关? 我外部接的是AD7705,用SMCLK作为AD7705的时钟。我发现AD7705在3.3V时晶体振荡的最高电压不到2.5V,AD7705不工作。 答 6: gogollx 兄,问题解决没?我想知道结果。
BCSCTL1 &= ~XT2OFF ; // XT2on
do // 等待晶振开始工作
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (ci=0xFF; ci>0; ci--) ; // Time for flag to set
}while ( (IFG1&OFIFG)!=0 ) ; // OSCFault flag still set?
// BCSCTL2 |= SELM1 + SELS ; // MCLK = SMCLK = XT2
BCSCTL2 = 0x8c ; // MCLK=XT2, SMCLK=XT2/4
// 各端口初始化
P1DIR = 0x60 ;
P2DIR = 0xff ;
P3DIR = 0x4f ;
P4DIR = 0xff ;
P5DIR = 0x20 ;
P5SEL = 0x20 ;
请大家帮忙分析一下 答 5: 是否和外部电路有关? 我外部接的是AD7705,用SMCLK作为AD7705的时钟。我发现AD7705在3.3V时晶体振荡的最高电压不到2.5V,AD7705不工作。 答 6: gogollx 兄,问题解决没?我想知道结果。
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
C语言函数宏的三种封装方式被打赏50分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 | |
我想要一部加热台+LED背光驱动芯片RT9293知识被打赏18分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 ADC 模块配置使用被打赏24分 |