使用LaunchPad开发板,用的M430G2553,使用的是CCS WareLine的demo例程,其中没有时钟语句。但是不明白时钟周期是多少,延时该怎么用?
问题1:
使用CCS WareLine的demo例程,其中没有操作时钟的语句,此时主频设为了多少?
问题2:
__delay_cycles();函数在编译器的头文件in430.h和mspg2553.h的头文件里没有定义,可以使用吗?如果使用该怎么用?
问题3:
__nop();的用法
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
使用LaunchPad开发板,用的M430G2553,使用的是CCS WareLine的demo例程,其中没有时钟语句。但是不明白时钟周期是多少,延时该怎么用?
问题1:
使用CCS WareLine的demo例程,其中没有操作时钟的语句,此时主频设为了多少?
问题2:
__delay_cycles();函数在编译器的头文件in430.h和mspg2553.h的头文件里没有定义,可以使用吗?如果使用该怎么用?
问题3:
__nop();的用法
zhaoyang zhao,
Q1: 如果例程没有配置时钟系统的话,那么使用的就是默认的设置,对于MSP430G2553而言,MCLK and SMCLK are sourced from DCOCLK at ~1.1 MHz, 如果焊了XT1 32768Hz晶体,那么ACLK为32768Hz,如果没有,ACLK=VLO=12khz,具体查看数据手册。
Q2: __delay_cycles();是本征函数,你可以在文档“slau132h-MSP430 Optimizing C or C++ Compiler v 4.2 User's Guide” 的section 6.7.1 MSP430 Intrinsics 中看到他们具体的解释。链接为: http://www.ti.com/lit/ug/slau132h/slau132h.pdf 。这些函数编译器Compiler已经实现和优化,具有较高的执行效率。直接调用即可。
Q3: 我没有用过,等效于__no_operation(void);建议使用__no_operation(void);。 一般用于在线辅助调试。
希望对你有帮助!O(∩_∩)O~
Lina
zhaoyang zhao,
如果你没有外接晶体,也没有配置时钟,使用的是默认的设置的话,对于MSP430G2553而言,MCLK=SMCLK=1.1MHz, ACLK=VLO= 12kHz,你可以将系统时钟从对应管脚输出,用示波器进行观察。
输出例程如下:P1.0= ACLK, P1.4=SMCLK
#include <msp430.h>
int main(void)
{
WDTCTL = WDTPW +WDTHOLD; // Stop Watchdog Timer
P1DIR |= 0x13; // P1.0,1 and P1.4 outputs
P1SEL |= 0x11; // P1.0,4 ACLK, SMCLK output
while(1)
{
P1OUT |= 0x02; // P1.1 = 1
P1OUT &= ~0x02; // P1.1 = 0
}
}
1. datasheet和user guide,请到TI官网 www.ti.com, 搜寻MSP430G2553点进去即可,链接为:http://www.ti.com.cn/product/cn/msp430g2553
2. code example 例程, 在上面链接的software 软件部分,有MSP430G2x53, MSP430G2x33, MSP430G2x13, MSP430G2x03 Code Examples 请下载即可。
3. launch pad培训, http://www.deyisupport.com/question_answer/microcontrollers/msp430/f/55/t/6046.aspx
4. MSP430 参考资料: http://www.deyisupport.com/question_answer/microcontrollers/msp430/f/55/t/1021.aspx
其实3和4都是deyisupport论坛本版块置顶的学习资料。
希望对你有帮助!O(∩_∩)O~