1、我参考了 STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\TIM1\TIM1_7PWM_Output的例程 2、照着库函数提供的去写,并没有PWM输出 3、我写的程序如下: #include "stm8s.h" void GPIO_Configuration(void) { GPIO_DeInit(GPIOC); GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_OUT_PP_LOW_SLOW); //PC6低速推完输出 低电平 GPIO_Init(GPIOC, GPIO_PIN_7, GPIO_MODE_OUT_PP_LOW_SLOW); //PC7低速推完输出 低电平 //GPIO_WriteHigh(GPIOC, GPIO_PIN_7); } //PC6 TIM1_CH1 //PC7 TIM_CH2 void TIM1_Configuraiton(void) { TIM1_DeInit(); TIM1_TimeBaseInit(1-1, TIM1_COUNTERMODE_UP, 8000-1, 0x00); // 2kHz (8000*1)/16000000 TIM1_OC1Init(TIM1_OCMODE_PWM2, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_DISABLE, 2000, TIM1_OCPOLARITY_LOW, TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_SET, TIM1_OCNIDLESTATE_RESET); TIM1_OC2Init(TIM1_OCMODE_PWM2, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_DISABLE, 2000, TIM1_OCPOLARITY_LOW, TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_SET, TIM1_OCNIDLESTATE_RESET); TIM1_Cmd(ENABLE); TIM1_CtrlPWMOutputs(ENABLE); } int main(void) { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//内部时钟16M GPIO_Configuration(); TIM1_Configuraiton(); __enable_interrupt(); //打开中断 while (1) { } } #ifdef USE_FULL_ASSERT void assert_failed(u8* file, u32 line) { while (1) { } } #endif |
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
I/O的配置问题
I/O的配置问题
目前也正在配置这块,可以贴出I/O配置源码吗
需要把TIM1的CH1、CH2重映射一下,不重新映射CH1、CH2是用不了的,https://www.stmcu.org.cn/module/forum/thread-600460-1-1.html