找回密码
 立即注册
查看: 1414|回复: 14

STC8A_PWM15bit.c库函数疑问

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-04 16:46:29

4

主题

11

回帖

102

积分

注册会员

积分
102
发表于 2023-10-12 10:42:22 | 显示全部楼层 |阅读模式
u8  PWMChannelCtrl(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输出脚位的?

截图202310121040415911.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2790

积分

荣誉版主

积分
2790
发表于 2023-10-12 11:40:08 | 显示全部楼层
有宏定义


这是8h的, 8A的应该也一样



截图202310121138327900.jpg


截图202310121139367917.jpg




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-04 16:46:29

4

主题

11

回帖

102

积分

注册会员

积分
102
发表于 2023-10-12 13:42:31 | 显示全部楼层

我查看了下STC8G的库函数是有的, 但是STC8A8K64D4的库函数是没声明的,是否是STC8A8K64D4的库函数不够完整
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2023-10-12 13:49:42 | 显示全部楼层
darr*** 发表于 2023-10-12 13:42
我查看了下STC8G的库函数是有的, 但是STC8A8K64D4的库函数是没声明的,是否是STC8A8K64D4的库函数不够完 ...

STC8A8K64D4的库函数也是有的,在"STC8A_Switch.h"头文件里
截图202310121347347485.jpg

用法参考如下:
截图202310121348127763.jpg

可以将PWM切换到P2,P1,或者P6口上:
截图202310121349167078.jpg

回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-04 16:46:29

4

主题

11

回帖

102

积分

注册会员

积分
102
发表于 2023-10-12 14:13:17 | 显示全部楼层
乘风*** 发表于 2023-10-12 13:49
STC8A8K64D4的库函数也是有的,在"STC8A_Switch.h"头文件里

好的,非常感谢。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-03-28 18:39:50

3

主题

5

回帖

51

积分

注册会员

积分
51
发表于 2023-10-23 21:44:37 | 显示全部楼层
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中断, 第二个触发点中断, 第一触发点中断
   
}


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-03-28 18:39:50

3

主题

5

回帖

51

积分

注册会员

积分
51
发表于 2023-10-23 21:44:53 | 显示全部楼层
qhs*** 发表于 2023-10-23 21:44
STC8A8K64D4 我设置了PWM15_PWM6_SW(PWM15_SW_P6);        切换PWM的6通道通过P6的引脚输出,但是P6.6没输出,还是 ...

求大佬解答
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-03-17 15:30:41

10

主题

11

回帖

112

积分

注册会员

积分
112
发表于 2024-6-12 14:57:35 | 显示全部楼层
求解答, 急急急
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-6-12 16:42:55 | 显示全部楼层
请测试、参考我的程序:

请先别修改程序, 直接下载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%.



01-8路15位增强型PWM-P6-非中断更新-C语言.rar (49.55 KB, 下载次数: 96)


回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-03-17 15:30:41

10

主题

11

回帖

112

积分

注册会员

积分
112
发表于 2024-6-12 19:48:58 | 显示全部楼层
谢谢
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 00:00 , Processed in 0.120470 second(s), 121 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表