这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 8M,SPI,1M 8M晶振为什么不能使SPI产生1M的时钟,见程序

共2条 1/1 1 跳转至

8M,SPI,1M 8M晶振为什么不能使SPI产生1M的时钟,见程序

院士
2006-09-17 18:14:16     打赏
8M,SPI,1M 8M晶振为什么不能使SPI产生1M的时钟,见程序



关键词: 晶振     为什么     能使     产生     时钟     程序    

院士
2006-12-22 22:43:00     打赏
2楼
问 #include "MSP430x14x.h"

void main(void)
{
unsigned int i;
WDTCTL = WDTPW + WDTHOLD; // 停止看门狗

BCSCTL1 = XT2OFF; // 打开XT2 8MHz高频晶体

do //等待高频晶振完全启动
{
IFG1 &= ~OFIFG; // 清除OSCFault标志
for (i = 0xFF; i > 0; i--);
}
while ((IFG1 & OFIFG) == OFIFG); // 如果OSCFault =1

BCSCTL2 = SELM1+SELS; // MCLK,SMCLK = XT2

ME1 |= USPIE0; // Enable USART0 SPI mode
UTCTL0 = CKPH+SSEL0+SSEL1+STC; // SMCLK, 3-pin mode
UCTL0 = CHAR+SYNC+MM; // 8-bit SPI Master **SWRST**
UBR00 = 0x8; // UCLK/8
UBR10 = 0x0; // 0
UMCTL0 = 0x00; // no modulation
P3SEL |= 0x0E; // P3.1-3 SPI option select
P3DIR |= 0x01; // P3.0 output direction
_EINT(); // Enable interrupts

while (1)
{
//unsigned i;
//for (i = 0xFFFF; i > 0; i--); // Delay
//while ((IFG1 & UTXIFG0) == 0); // USART0 TX buffer ready?
//P3OUT &= ~0x01; // Latch data into 'HC165
//P3OUT |= 0x01;
TXBUF0 = 0xAA;//RXBUF0; // RXBUF0 to TXBUF0
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
}
} 1: 请帮忙。 2: BCSCTL1 = XT2OFF; 3: BSCTL1=XT2OFF 是打开晶体的意思(置位)。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]