📄 main.c
字号:
// 基于《Stellaris外设驱动库》的SysCtl例程:模拟比较器通过外部VIN1与内部参考电压进行比较
#include "LED.H"
#include "hw_memmap.h"
#include "hw_types.h"
#include "gpio.h"
#include "sysctl.h"
#include "systick.h"
#include "comp.h"
#define VIN GPIO_PIN_4 /* PB4为VIN- */
#define VOUT GPIO_PIN_4 /* PF4为VOUT */
// 将较长的标识符定义成较短的形式
#define SysCtlPeriEnable SysCtlPeripheralEnable
#define SysCtlPeriDisable SysCtlPeripheralDisable
#define GPIOPinTypeIn GPIOPinTypeGPIOInput
#define GPIOPinTypeOut GPIOPinTypeGPIOOutput
#define GPIOPinTypeOD GPIOPinTypeGPIOOutputOD
// 定义KEY
#define KEY_PERIPH SYSCTL_PERIPH_GPIOG
#define KEY_PORT GPIO_PORTG_BASE
#define KEY_PIN GPIO_PIN_5
// 防止JTAG失效
void JTAG_Wait(void)
{
SysCtlPeriEnable(KEY_PERIPH); // 使能KEY所在的GPIO端口
GPIOPinTypeIn(KEY_PORT , KEY_PIN); // 设置KEY所在管脚为输入
if ( GPIOPinRead(KEY_PORT , KEY_PIN) == 0x00 ) // 如果复位时按下KEY,则进入
{
for (;;); // 死循环,以等待JTAG连接
}
SysCtlPeriDisable(KEY_PERIPH); // 禁止KEY所在的GPIO端口
}
/*********************************************************************************************************
** 函数原形:int main(void)
** 功能描述:
** 参数说明:无
** 返回值: 0
*********************************************************************************************************/
int main(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); /* 使能GPIO PB口 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
SysCtlPeripheralEnable(SYSCTL_PERIPH_COMP0); /* 使能模拟比较器0 */
LED_Init(LED1);
GPIOPinTypeComparator(GPIO_PORTB_BASE, VIN); /* 设置 PB4 为C0- */
GPIODirModeSet(GPIO_PORTF_BASE,VOUT,GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTF_BASE, VOUT,GPIO_STRENGTH_4MA, /* 设置为4mA驱动和推挽使能 */
GPIO_PIN_TYPE_STD);
ComparatorConfigure(COMP_BASE, 0, (COMP_TRIG_NONE | COMP_ASRCP_REF |
COMP_OUTPUT_NORMAL)); /* 配置模拟比较器0 */
ComparatorRefSet(COMP_BASE, COMP_REF_1_1V); /* 配置内部参考电压为 1.1V */
while (1) {
if (ComparatorValueGet(COMP_BASE, 0) == 1 ) /* 读取比较结果. 1:点亮LED1;
0: 熄灭LED1 */
LED_On(LED1); /* 点亮LED1 */
else
LED_Off(LED1); /* 熄灭LED1 */
}
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -