📄 main.c
字号:
/********************************************************************************
Timer定时器应用实例(以下程序参考或采用ST公司MCD Application Team提供的相关子程序)
******************************************************************************/
#include "ST7lib_config.h" /* 选择ST7FLITE39 */
/*函数原型*/
void LT_ICAP_IT_Routine(void);
void LT_TB_IT_Routine(void);
void main(void);
volatile unsigned int count;
void main (void)
{
/* PA3和PA1是推挽(push-pull)输出 */
IO_Output(IO_PUSH_PULL,IO_PORT_A,((unsigned char)IO_PIN_3 |
(unsigned char)IO_PIN_1 ));
/*设定时基为 1ms,输入捕捉(Input capture)和时基(Timebase)中断使能 */
LT_Init(((unsigned char)LT_ICAP_IT_ENABLE|(unsigned char)LT_TB_IT_ENABLE));
/* 清CC寄存器中的I位*/
EnableInterrupts /* st7lib_config.h中的宏定义 */
while(1); /* 仅作测试用 */
}
/******************************************************************************
使用输入捕捉中断服务程序
(当中断捕捉产生时,PA1引脚对应的LED D1将闪亮)
******************************************************************************/
#ifdef _COSMIC_ /* Cosmic编译器*/
@interrupt @nostack
#else
#error "Unsupported Compiler!" /* 编译器没有定义! */
#endif
void LT_IC_IT_Routine(void)
{
unsigned char ICAP_Value, i;
/* i = LTICR; 清零ICF */
LT_Clear_Flag(LT_FLAG_ICF); /* 清零ICF */
ICAP_Value = LT_ICAP_Getvalue(); /* 获取捕捉值并清零ICF */
IO_Write (IO_PORT_A,IO_PIN_1,IO_DATA_HIGH); /* 在PA1关闭LED */
for ( i=0;i<=100;i++) /* 延时 */
{
Nop
}
IO_Write (IO_PORT_A,IO_PIN_1,IO_DATA_LOW); /* 在PA1打开LED*/
}
/******************************************************************************
使用时基中断服务程序
(当时基中断产生时,PA3引脚对应的LED D3将每隔5秒闪亮一次)
******************************************************************************/
#ifdef _COSMIC_ /* Cosmic编译器 */
@interrupt @nostack
#else
#error "Unsupported Compiler!" /* 编译器没有定义! */
#endif
void LT_TB_IT_Routine(void)
{
unsigned char Temp;
/* i = LTICR; 清零ICF */
LT_Clear_Flag(LT_FLAG_TBF); /* 清零ICF */
count++;
if(count == 5000)
{
Temp = IO_Read (IO_PORT_A ); /* 切换PA3 */
if (Temp & 0x08)
{
IO_Write (IO_PORT_A,IO_PIN_3,IO_DATA_LOW); /* 在PA3打开LED */
}
else
{
IO_Write (IO_PORT_A,IO_PIN_3,IO_DATA_HIGH); /* 在PA3关闭LED */
}
count = 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -