找回密码
 立即注册
查看: 899|回复: 12

8G1K08A的PWM可以只选择一个引脚使用吗,其他用于普通IO或者其他功能

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-06-13 13:55:33

14

主题

23

回帖

97

积分

注册会员

积分
97
发表于 2024-10-16 22:32:35 | 显示全部楼层 |阅读模式
本帖最后由 DebugLab 于 2024-10-16 23:09 编辑

截图202410162231499797.jpg

手册上这个意思是一次设置,一下把四个引脚的功能都限定死了吗?
没办法只让一个IO使用PWM吗,其他IO作为其他用处比如ADC,或者普通的IO。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-06-16 10:06:31
已绑定手机
已实名认证

112

主题

2390

回帖

6014

积分

版主

积分
6014
发表于 2024-10-16 22:51:44 | 显示全部楼层
可以像你所述这样使用的
只需设置不需要的pca模块对应的ccapmx为0即可
例如pca0不想输出pwm,想要作为其他功能使用,可以设置CCAPM0=0x00;
意思是pca0模块无操作,即不占用io其他功能
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:279
  • 最近打卡:2025-06-16 12:55:15

22

主题

282

回帖

1091

积分

金牌会员

积分
1091
发表于 2024-10-16 22:54:53 来自手机 | 显示全部楼层
可以设置一个
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2025-06-15 22:44:24
已绑定手机

19

主题

3231

回帖

5281

积分

论坛元老

积分
5281
发表于 2024-10-16 23:58:39 | 显示全部楼层
这个只有8pin,应该可以但有口做pwm
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:566
  • 最近打卡:2025-06-16 07:52:44

113

主题

2027

回帖

5810

积分

论坛元老

积分
5810
发表于 2024-10-17 08:17:42 | 显示全部楼层
应该可以的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-06-13 13:55:33

14

主题

23

回帖

97

积分

注册会员

积分
97
发表于 2024-10-17 08:46:46 | 显示全部楼层
王*** 发表于 2024-10-16 22:51
可以像你所述这样使用的
只需设置不需要的pca模块对应的ccapmx为0即可
例如pca0不想输出pwm,想要作为其他 ...

非常感谢,我一会儿再认真看看手册。手册这方面写的不明显,我再找找。感谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-06-13 13:55:33

14

主题

23

回帖

97

积分

注册会员

积分
97
发表于 2024-10-17 08:52:49 | 显示全部楼层
截图202410170851557632.jpg
应该从这里设置,一会儿我试试,希望官方能提供一些这种示例。示例中都是同时开启的。好多应用只需要一个。其他IO还要用,建议给8引脚的单片机提供一套专用的示例。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:94
  • 最近打卡:2025-06-16 11:51:06

74

主题

6089

回帖

1万

积分

超级版主

积分
12721
发表于 2024-10-17 09:47:19 | 显示全部楼层
当然可以。
没有用到的PCA,就不要初始化,CCAPMn=0x00; 即可禁止某一路PCA,其对应的引脚无PCA功能,可以用做其余的功能。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-06-13 13:55:33

14

主题

23

回帖

97

积分

注册会员

积分
97
发表于 2024-10-17 16:18:55 | 显示全部楼层
  1. /*---------------------------------------------------------------------*/
  2. /* --- STC MCU Limited ------------------------------------------------*/
  3. /* --- STC 1T Series MCU Demo Programme -------------------------------*/
  4. /* --- Mobile: (86)13922805190 ----------------------------------------*/
  5. /* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
  6. /* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
  7. /* --- Web: www.STCAI.com ---------------------------------------------*/
  8. /* --- BBS: www.STCAIMCU.com  -----------------------------------------*/
  9. /* --- QQ:  800003751 -------------------------------------------------*/
  10. /* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序            */
  11. /*---------------------------------------------------------------------*/
  12. #include        "config.h"
  13. #include        "STC8G_PCA.h"
  14. #include        "STC8G_H_GPIO.h"
  15. #include        "STC8G_H_Delay.h"
  16. #include        "STC8G_H_Switch.h"
  17. /*************   功能说明   ***************
  18. 本例程基于STC8G1K08-20PIN进行编写测试,STC8G系列芯片可通用参考.
  19. 输出3路变化的PWM信号, 类似"呼吸灯"的驱动.
  20. PWM0  为8位PWM.
  21. PWM1  为7位PWM.
  22. PWM2  为10位PWM.
  23. 下载时, 选择时钟 24MHz (用户可在"config.h"修改频率).
  24. ******************************************/
  25. /*************        本地常量声明        **************/
  26. /*************        本地变量声明        **************/
  27. int16        pwm2;
  28. bit        B_PWM2_Dir;        //方向, 0为+, 1为-.
  29. /*************        本地函数声明        **************/
  30. /*************  外部函数和变量声明 *****************/
  31. /******************** IO口配置 ********************/
  32. void        GPIO_config(void)
  33. {
  34.         GPIO_InitTypeDef        GPIO_InitStructure;                //结构定义
  35.         GPIO_InitStructure.Pin  = GPIO_Pin_5;                //P55
  36.         GPIO_InitStructure.Mode = GPIO_PullUp;                //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
  37.         GPIO_Inilize(GPIO_P5,&GPIO_InitStructure);        //初始化
  38. }
  39. /******************** PCA配置 ********************/
  40. void        PCA_config(void)
  41. {
  42.         PCA_InitTypeDef                PCA_InitStructure;
  43.         PCA_InitStructure.PCA_Clock    = PCA_Clock_1T;                //PCA_Clock_1T, PCA_Clock_2T, PCA_Clock_4T, PCA_Clock_6T, PCA_Clock_8T, PCA_Clock_12T, PCA_Clock_Timer0_OF, PCA_Clock_ECI
  44.         PCA_InitStructure.PCA_RUN      = DISABLE;                        //ENABLE, DISABLE
  45.         PCA_Init(PCA_Counter,&PCA_InitStructure);                        //设置公用Counter
  46.         PCA_InitStructure.PCA_PWM_Wide = PCA_PWM_10bit;                //PCA_PWM_8bit, PCA_PWM_7bit, PCA_PWM_6bit, PCA_PWM_10bit
  47.         PCA_InitStructure.PCA_Value    = 32 << 8;                        //对于PWM,高8位为PWM占空比
  48.         PCA_Init(PCA2,&PCA_InitStructure);
  49.         NVIC_PCA_Init(PCA_Counter,PCA_Mode_PWM,Priority_0);
  50.         NVIC_PCA_Init(PCA2,PCA_Mode_PWM,Priority_0);
  51.         PCA_SW(0x02);       
  52.         CR = 1;                                                        //启动PCA
  53. }
  54. /******************** task A **************************/
  55. void main(void)
  56. {
  57.                 EAXSFR();                /* 扩展寄存器访问使能 */
  58.     GPIO_config();
  59.     PCA_config();
  60.     pwm2 = 512;
  61.     B_PWM2_Dir = 0;
  62.     UpdatePcaPwm(PCA2,pwm2);
  63. //  EA = 1;
  64.        
  65.     while (1)
  66.     {
  67.         delay_ms(5);
  68.         if(B_PWM2_Dir)
  69.         {
  70.             if(--pwm2 <= 1)                B_PWM2_Dir = 0;        //10位PWM
  71.         }
  72.         else if(++pwm2 >= 1024)        B_PWM2_Dir = 1;        //10位PWM
  73.         UpdatePcaPwm(PCA2,pwm2);
  74.     }
  75. }
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-05-12 09:57:32

0

主题

22

回帖

134

积分

注册会员

积分
134
发表于 2025-4-18 19:52:26 | 显示全部楼层
做不了低频么?最大分频只到12

点评

用T0的时钟输出做PWM的时钟源 [attachimg]94474[/attachimg]  详情 回复 发表于 2025-4-18 20:16
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-16 13:04 , Processed in 0.149500 second(s), 105 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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