📄 sp.c
字号:
#include "msp430x16x.h"
//输出1KHz方波音频信号
void Init_Port() {
P4DIR=BIT3+BIT2; //SP引脚分配
P4OUT=BIT3;
}
void Init_Clock() {
unsigned char i;
BCSCTL1=0x00;//XT2--ON
do {
IFG1&=~OFIFG;
for(i=0;i<20;i++);
}while((IFG1&OFIFG)==OFIFG);
BCSCTL2=SELM1+SELS;//XT2--MCLK,XT2--SMCLK
}
void Init_TimerA() {
TACTL=TASSEL1+MC0+TACLR;//时钟源SMCLK,增计模式,计数器清零
TACCR0=2000; //4M/2000=2000Hz
TACCTL0=CCIE;//使能比较
_EINT();//开中断
}
void Init_System() {
WDTCTL=WDTPW+WDTHOLD;//关闭WDT
Init_Port();
Init_Clock();
Init_TimerA();
}
void main( void )
{
Init_System();
while(1) {
_BIS_SR(LPM1_bits);//进入LPM1低功耗模式
_NOP();
}
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Time_A() {
P4OUT^=0x0c;//1000Hz输出
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -