STC8A_PWM15bit.c库函数疑问
u8PWMChannelCtrl(u8 PWM_id, u8 pwm_eno, u8 pwm_ini, u8 pwm_eni, u8 pwm_ent2i, u8 pwm_ent1i)PWM_id: PWM通道序号. 取值 0~7
// pwm_eno: pwm输出使能, 0设为GPIO, 1设为PWM输出.
// pwm_ini: pwm输出端的初始电平, 0为低电平, 1为高电平.
// pwm_eni: pwm通道中断使能控制, 0为关闭PWM中断, 1为使能PWM中断.
// pwm_ent2i: pwm通道第二个触发点中断使能控制, 0为关闭PWM第二个触发点中断, 1为使能PWM第二个触发点中断.
// pwm_ent1i: pwm通道第一个触发点中断使能控制, 0为关闭PWM第一个触发点中断, 1为使能PWM第一个触发点中断.
通道控制函数中没有PWM输出脚位控制的参数,库函数中哪里设置PWM输出脚位的?
有宏定义
这是8h的, 8A的应该也一样
gentleman 发表于 2023-10-12 11:40
有宏定义
我查看了下STC8G的库函数是有的, 但是STC8A8K64D4的库函数是没声明的,是否是STC8A8K64D4的库函数不够完整 darryman 发表于 2023-10-12 13:42
我查看了下STC8G的库函数是有的, 但是STC8A8K64D4的库函数是没声明的,是否是STC8A8K64D4的库函数不够完 ...
STC8A8K64D4的库函数也是有的,在"STC8A_Switch.h"头文件里
用法参考如下:
可以将PWM切换到P2,P1,或者P6口上:
乘风飞扬 发表于 2023-10-12 13:49
STC8A8K64D4的库函数也是有的,在"STC8A_Switch.h"头文件里
好的,非常感谢。 STC8A8K64D4 我设置了PWM15_PWM6_SW(PWM15_SW_P6);
切换PWM的6通道通过P6的引脚输出,但是P6.6没输出,还是P2.6在输出,
这句话貌似配置了并没用
//附上PWM的初始化函数
void PWM15bit_init(void)
{
PWM15_InitTypeDef PWM15_InitStructure;
PWM15_InitStructure.PWM_Enable = ENABLE; //PWM使能,ENABLE,DISABLE
PWM15_InitStructure.PWM_Period = 0x1000; //PWM周期,0~0x7fff
PWM15_InitStructure.PWM_Clock_Sel = PWM_CLK_SYS; //时钟源选择,PWM_CLK_SYS, PWM_CLK_TM2
PWM15_InitStructure.PWM_Clock_PS= 15; //系统时钟分频参数(PS+1分频),0~15
PWM15_InitStructure.PWM_CInt = DISABLE; //计数器归零中断使能,ENABLE, DISABLE
PWM15_InitStructure.PWM_Counter = ENABLE; //计数器使能,ENABLE, DISABLE
PWM15_Init(&PWM15_InitStructure);
PWM15Duty(PWM15_6,0x0000,0x0400); //PWM_ID, 输出低电平位置, 输出高电平位置
PWMChannelCtrl(PWM15_6,ENABLE,0,DISABLE,DISABLE,DISABLE); //PWM_ID, 输出使能, 初始电平, PWM中断, 第二个触发点中断, 第一触发点中断
}
qhshen 发表于 2023-10-23 21:44
STC8A8K64D4 我设置了PWM15_PWM6_SW(PWM15_SW_P6); 切换PWM的6通道通过P6的引脚输出,但是P6.6没输出,还是 ...
求大佬解答 求解答, 急急急 请测试、参考我的程序:
请先别修改程序, 直接下载PWM.hex文件测试.
P2口输出8路PWM测试程序, 每路PWM周期都是10KHz@24MHZ, 用户可以按组来修改周期.
PWM0~PWM7分别从P6.0~P6.7输出, P6.0占空比不断变化, P6.1占空比20%, P6.2占空比30%, P6.3占空比40%, P6.4占空比50%, P6.5占空比60%, P6.6占空比70%, P6.7占空比80%.
谢谢
页:
[1]
2