📄 main.c
字号:
/*******************************************************************
** Filename : main.c
** Project : inverter example
** Processor : MC9S08QG8
** Version : $v
** Location : h:\projects\freescale\inverter\
** Author : Jim McLean
** Company : Highlander Technologies
** Date : 11/04/2005, 10:03 AM
** Compiler : Metrowerks CodeWarrior HC08 C Compiler
** Notes : HC9S08QG Quick Start Example
** : This example can be used on the DEMO9S08QG8 board
**
*******************************************************************/
#include <hidef.h> /* for EnableInterrupts macro */
#include <MC9S08QG8.h> /* include peripheral declarations */
void main(void)
{
ACMPSC_ACMOD = 11; // 1 = comparator output on rising or fallingedge
ACMPSC_ACOPE = 1; // 1 = comparator output enabled on external pin
SOPT1_BKGDPE = 0; // 0 = disable bgdb mode on compo pin
ACMPSC_ACIE = 1; // 1 = comparator interrupt enabled
ACMPSC_ACBGS = 1; // 1 = use internal reference on ACMP+
SPMSC1_BGBE = 1; // 1 = enable bandgap buffer for internal reference
ACMPSC_ACME = 1; // 1 = comparator enabled
ACMPSC_ACF = 1; // writing 1 clears event flag
// set up output port for an indicator
PTBDD_PTBDD7 = 1; //set PTB.7 as an output, LED2 on demo board
PTBD_PTBD7 = 1;
PTBDD_PTBDD6 = 1; //set PTB.6 as an output, LED1 on demo board
PTBD_PTBD6 = 1;
EnableInterrupts; // inverter can work without generating an interrupt
for(;;)
{
__RESET_WATCHDOG(); /* feeds the dog */
}// loop
}// end main
//ACMP ISR
interrupt 20 void ACMP_ISR(void)
{
if (ACMPSC_ACO)
{
PTBD_PTBD7 = 1; // toggle PTB.7 pin on compare event
PTBD_PTBD6 = 0; // toggle PTB.6 pin on compare event
}
else
{
PTBD_PTBD7 = 0; // toggle PTB.7 pin on compare event
PTBD_PTBD6 = 1; // toggle PTB.6 pin on compare event
}
ACMPSC_ACF = 1; // writing 1 clears event flag
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -