#ifndef _DRV_CFG_H #define _DRV_CFG_H

//------------------------------------------------------------------------------------- // 系统参数设置 #define FMASTER\t\t\t\t16000000 #define CLOCK_TICK\t\t250//us\t\t//ms

//------------------------------------------------------------------------------------- // 系统单片机型号 #define _STM8S003F3\t\t\t\t(1)

//------------------------------------------------------------------------------------- // 开发环境 #define _ST_IAR\t\t\t\t(1) #define __DI()\t\t\tasm ("SIM") #define __EI()\t\t\tasm ("RIM")

//------------------------------------------------------------------------------------- // MCU模块配置 #define _M_DRV\t\t\t\t(0x1000) #define _M_DRV_CHK\t\t\t(_M_DRV+0x01)

// MCU #define _M_DRV_MCU\t\t\t(_M_DRV+0x100) #define _M_DRV_MCU_INIT\t\t(_M_DRV+0x100+1)

// CPU #define _M_DRV_MCU_CPU\t\t(_M_DRV+0x100) #define _M_DRV_MCU_CPU_RST\t\t(0)//(_M_DRV_MCU_CPU+1) #define _M_DRV_MCU_CPU_CHK\t(_M_DRV_MCU_CPU+2)

// Clock #define _M_DRV_MCU_CPU_CLK_INIT\t(_M_DRV_MCU_CPU+3) #define _M_DRV_MCU_CPU_CLK_CHK\t(_M_DRV_MCU_CPU+4)

// WDT #define _M_DRV_MCU_CPU_WDT\t\t(_M_DRV_MCU_CPU+5) #define _M_DRV_MCU_CPU_IWDG\t\t(_M_DRV_MCU_CPU+6) #define _M_DRV_MCU_CPU_WWDG\t\t(0)//(_M_DRV_MCU_CPU+7) #define _M_DRV_MCU_CPU_WDT_CHK\t(_M_DRV_MCU_CPU+8)

// PORT #define _M_DRV_MCU_PORT\t\t(_M_DRV+0x200) #define _M_DRV_MCU_PORT_INIT\t(_M_DRV_MCU_PORT+1) #define _M_DRV_MCU_PORT_CHK\t(_M_DRV_MCU_PORT+2) #define _M_DRV_MCU_PORT_CHK_SHORT\t(0)//(_M_DRV_MCU_PORT+3)

#define _M_DRV_MCU_PORT_0\t\t(_M_DRV_MCU_PORT+1) #define _M_DRV_MCU_PORT_1\t\t(_M_DRV_MCU_PORT+2) #define _M_DRV_MCU_PORT_2\t\t(_M_DRV_MCU_PORT+3) #define _M_DRV_MCU_PORT_3\t\t(_M_DRV_MCU_PORT+4) #define _M_DRV_MCU_PORT_4\t\t(0)//(_M_DRV_MCU_PORT+5) #define _M_DRV_MCU_PORT_5\t\t(0)//(_M_DRV_MCU_PORT+6) #define _M_DRV_MCU_PORT_6\t\t(0)//(_M_DRV_MCU_PORT+7)

#define _M_DRV_MCU_PORT_CR1\t\t(_M_DRV_MCU_PORT+10) #define _M_DRV_MCU_PORT_0_CR1\t(_M_DRV_MCU_PORT_CR1+1) #define _M_DRV_MCU_PORT_1_CR1\t(_M_DRV_MCU_PORT_CR1+2) #define _M_DRV_MCU_PORT_2_CR1\t(_M_DRV_MCU_PORT_CR1+3) #define _M_DRV_MCU_PORT_3_CR1\t(_M_DRV_MCU_PORT_CR1+4) #define _M_DRV_MCU_PORT_4_CR1\t(0)//(_M_DRV_MCU_PORT_CR1+5) #define _M_DRV_MCU_PORT_5_CR1\t(0)//(_M_DRV_MCU_PORT_CR1+6) #define _M_DRV_MCU_PORT_6_CR1\t(0)//(_M_DRV_MCU_PORT_CR1+7)

#define _M_DRV_MCU_PORT_CR2\t\t(_M_DRV_MCU_PORT+20) #define _M_DRV_MCU_PORT_0_CR2\t(_M_DRV_MCU_PORT_CR2+1) #define _M_DRV_MCU_PORT_1_CR2\t(_M_DRV_MCU_PORT_CR2+2) #define _M_DRV_MCU_PORT_2_CR2\t(_M_DRV_MCU_PORT_CR2+3) #define _M_DRV_MCU_PORT_3_CR2\t(_M_DRV_MCU_PORT_CR2+4) #define _M_DRV_MCU_PORT_4_CR2\t(0)//(_M_DRV_MCU_PORT_CR2+5) #define _M_DRV_MCU_PORT_5_CR2\t(0)//(_M_DRV_MCU_PORT_CR2+6) #define _M_DRV_MCU_PORT_6_CR2\t(0)//(_M_DRV_MCU_PORT_CR2+7)

#define _M_DRV_MCU_EXTI\t\t(0)//(_M_DRV+0x400) #define _M_DRV_MCU_EXTI_RST\t(0) #define _M_DRV_MCU_EXTI_INIT\t(0)//(_M_DRV_MCU_EXTI+1) #define _M_DRV_MCU_EXTI_CHK\t(0)//(_M_DRV_MCU_EXTI+2)

// TIME #define _M_DRV_MCU_TIME\t\t(_M_DRV+0x300) #define _M_DRV_MCU_TIME_RST\t(_M_DRV_MCU_TIME+1) #define _M_DRV_MCU_TIME_INIT\t(_M_DRV_MCU_TIME+2) #define _M_DRV_MCU_TIME_CHK\t(_M_DRV_MCU_TIME+3) #define _M_DRV_MCU_TIME_1\t\t(0)//(_M_DRV_MCU_TIME+4) #define _M_DRV_MCU_TIME_2\t\t(_M_DRV_MCU_TIME+5) #define _M_DRV_MCU_TIME_3\t\t(0)//(_M_DRV_MCU_TIME+6) #define _M_DRV_MCU_TIME_4\t\t(0)//(_M_DRV_MCU_TIME+7) #define _M_DRV_MCU_TIME_5\t\t(0)//(_M_DRV_MCU_TIME+8) #define _M_DRV_MCU_TIME_6\t\t(0)//(_M_DRV_MCU_TIME+9) #define _M_DRV_MCU_TIME_133US\t(0)//(_M_DRV_MCU_TIME+10) #define _M_DRV_MCU_TIME_166US\t(0)//(_M_DRV_MCU_TIME+11) #define _M_DRV_MCU_TIME_2MS\t\t(0)//(_M_DRV_MCU_TIME+12) #define _M_DRV_MCU_TIME_10MS\t(0)//(_M_DRV_MCU_TIME+13) #define _M_DRV_MCU_TIME_1MS\t\t(0)//(_M_DRV_MCU_TIME+14) #define _M_DRV_MCU_TIME_500US\t(_M_DRV_MCU_TIME+15)

// AD #define _M_DRV_MCU_AD\t\t(_M_DRV+0x500) #define _M_DRV_MCU_AD_RST\t(_M_DRV_MCU_AD+1) #define _M_DRV_MCU_AD_INIT\t(_M_DRV_MCU_AD+2) #define _M_DRV_MCU_AD_CHK\t(0)//(_M_DRV_MCU_AD+3)

// CCP #define _M_DRV_MCU_CCP\t\t(0)//(_M_DRV+0x600) #define _M_DRV_MCU_CCP_RST\t(0)//(_M_DRV_MCU_CCP+1) #define _M_DRV_MCU_CCP_INIT\t(0)//(_M_DRV_MCU_CCP+2) #define _M_DRV_MCU_CCP_CHK\t(0)//(_M_DRV_MCU_CCP+3) #define _M_DRV_MCU_CCP_PWM\t(0)//(_M_DRV_MCU_CCP+4) #define _M_DRV_MCU_CCP_CAP\t(0)//(_M_DRV_MCU_CCP+5) #define _M_DRV_MCU_TIME1_CCP_PWM\t(0)//(_M_DRV_MCU_CCP+6) #define _M_DRV_MCU_TIME2_CCP_PWM\t(0)//(_M_DRV_MCU_CCP+7)

// SPI #define _M_DRV_MCU_SPI\t\t(0)//(_M_DRV+0x700) #define _M_DRV_MCU_SPI_RST\t(0) #define _M_DRV_MCU_SPI_INIT\t(0)//(_M_DRV_MCU_SPI+2) #define _M_DRV_MCU_SPI_CHK\t(0)//(_M_DRV_MCU_SPI+3)

// EEPROM #define _M_DRV_MCU_EEPROM\t\t(0)//(_M_DRV+0x800) #define _M_DRV_MCU_EEPROM_RST\t(0)//(_M_DRV+0x800) #define _M_DRV_MCU_EEPROM_INIT\t(0)//(_M_DRV+0x800) #define _M_DRV_MCU_EEPROM_CHK\t(0)//(_M_DRV+0x800)

// UART #define _M_DRV_MCU_UART\t\t(0)//(_M_DRV+0xB00) #define _M_DRV_MCU_UART_RST\t(0) #define _M_DRV_MCU_UART_INIT\t(0) #define _M_DRV_MCU_UART_CHK\t(0)

// AWU #define _M_DRV_MCU_AWU\t\t(0)//(_M_DRV_MCU + 0xE00)

#endif #include "SKEAZ1284.h"

#define FMASTER\t\t\t\t16000000\t\t// 主频 #define FREQ\t\t\t\t1000\t\t// 方波频率(Hz) #define DUTY_CYCLE\t\t50\t\t// 方波占空比(百分比)

void init_timer(void);

void main(void) { \tinit_timer();

\twhile(1) \t{

\t} }

void init_timer(void) { \t// 使能定时器时钟 \tSIM_SCGC |= SIM_SCGC_SPTIM_MASK;

\t// 选择分频系数,计算定时器计数值 \tuint32_t timer_prescaler = 1; \tuint32_t timer_count = (FMASTER / (FREQ * timer_prescaler)) - 1;

\t// 设置定时器通用寄存器 \tSPTIM0_MOD = timer_count; \tSPTIM0_C0V = timer_count / 2; // 设置占空比为50%

\t// 配置定时器控制寄存器 \tSPTIM0_TCTRL = SPTIM_TCTRL_CH0EN_MASK | SPTIM_TCTRL_CH0IE_MASK; // 使能通道0和中断

\t// 配置定时器输出控制寄存器 \tSPTIM0_C0SC = SPTIM_CnSC_ELSA_MASK | SPTIM_CnSC_ELSB_MASK; // 设置为正常输出模式

\t// 使能定时器 \tSPTIM0_TCTRL |= SPTIM_TCTRL_TEN_MASK;

\t// 允许中断 \t__EI(); }

// 定时器中断处理函数 void SPTIM0_IRQHandler(void) { \t// 清除中断标志 \tSPTIM0_SC &= ~SPTIM_SC_TIF_MASK;


原文地址: https://www.cveoy.top/t/topic/pBoD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录