📄 exercise-1.c
字号:
/* Exercise 1
A simple RTC demo for the FG439, constructed from elements of examples:
fet440_lpm3.c
fet440_lcd_03.c
fet440_fll_02.c
*/
#include <msp430xG43x.h>
/* LCD configuration from fet440_lcd_03.c */
int value = 0;
char *LCD = LCDMEM;
const char digit[10] =
{
0xB7, // "0" LCD segments a+b+c+d+e+f
0x12, // "1"
0x8F, // "2"
0x1F, // "3"
0x3A, // "4"
0x3D, // "5"
0xBD, // "6"
0x13, // "7"
0xBF, // "8"
0x3F // "9"
};
void fet440_fll_02(void)
{
/* This routine is based on code from fet440_fll_02.c */
FLL_CTL0 |= (DCOPLUS | XCAP18PF); // DCO+ set, freq = xtal x D x N+1
SCFI0 |= FN_4; // x2 DCO freq, 8MHz nominal DCO
SCFQCTL = 31; // (31+1) x 32768 x 2 = 2.048 MHz
}
void fet440_lcd_03(void)
{
int i;
int x;
LCDCTL = LCDSG0_1 | LCD4MUX | LCDON; // 4-Mux LCD, segments S0-S15
P5SEL = BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2; // Select P5.2-7 as Com and Rxx
/* Clear the LCD memory to clear the display */
for (i = 0; i < 19; i++)
LCD[i] = 0;
_EINT();
for (;;)
{
LPM3; // Enter LPM3
value++;
x = value;
/* Display the contents of the variable value */
for (i = 0; i < 5; i++)
{
LCD[i] = digit[x%10]; // Remainder = character in table to display
x /= 10;
}
}
}
void main(void)
{
/* This routine is based on code from fet440_lpm3.c */
WDTCTL = WDTPW | WDTHOLD; // Stop WDT
/* Code from fet440_fll_02.c to get the clock up to speed */
fet440_fll_02();
IE2 |= BTIE; // Enable BT interrupt
BTCTL = BT_fLCD_DIV64 | BT_fCLK2_DIV128 | BT_fCLK2_ACLK_DIV256;
P1DIR = 0xFF; // All P1.x outputs
P1OUT = 0; // All P1.x reset
P2DIR = 0xFF; // All P2.x outputs
/*从低功耗考虑,P2.5设为输入,lierda修改*/
P2DIR &= ~BIT5
P2OUT = 0; // All P2.x reset
P3DIR = 0xFF; // All P3.x outputs
P3OUT = 0; // All P3.x reset
P4DIR = 0xFF; // All P4.x outputs
P4OUT = 0; // All P4.x reset
P5DIR = 0xFF; // All P5.x outputs
P5OUT = 0; // All P5.x reset
P6DIR = 0xFF; // All P6.x outputs
P6OUT = 0; // All P6.x reset
fet440_lcd_03();
}
#pragma vector=BASICTIMER_VECTOR
__interrupt void basic_timer_interrupt(void)
{
_BIC_SR_IRQ(LPM3_bits); // Clear LPM3 bits from 0(SR)
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -