找回密码
 立即注册
楼主: wuzhengmin

学习休眠唤醒遇到的问题:1无法开启休眠 2舍弃一下功能后能进入休眠但无法唤醒

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-5 12:24:08 | 显示全部楼层

我们可以用PCA代替PWM功能

PCA模块有3组,都可以产生PWM



截图202603051224065448.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-5 12:45:43 | 显示全部楼层

PCA产生的PWM的频率=sysclk/256  是固定的


PCA是蛮复杂的,我们用AiCube 来配置:

1.2 实验目的
通过PCA配置PWM功能,使D1指示灯逐渐变亮后逐渐变暗。

先查看P20有没有PCA功能?

2.硬件设计
本实验使用到硬件资源如下:
(1)PCA
(2)GPIO
(3)LED模块



回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-5 12:55:12 | 显示全部楼层
重点看配置:

截图202603051253375511.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-5 13:01:08 | 显示全部楼层
具体看:

选择PCA的管脚切换:PCA ECI(P2.3),CCP0(P2.0),CCP1(P2.1),CCP2(P2.2)




截图202603051301054929.jpg
截图202603051304538878.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-5 13:18:37 | 显示全部楼层
这样选了之后,P2.1 P2.2 P2.3 依然可以当做普通IO口用

8位PWM重载值是0-255 ,它决定占空比的大小,0就是高电平时间是0

我们用PCA模块0,关注模块0 的重载值就OK

截图202603051316505725.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-5 13:22:33 | 显示全部楼层
PWM边沿中断先不管它


使能PCA的中断也先不管
截图202603051322316110.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-5 13:28:08 | 显示全部楼层
设置完直接生产代码:

截图202603051328069011.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-5 13:47:26 | 显示全部楼层
接着进入主函数:

先设置几个变量:

u8 dir =0 ; //方向变量
u8 cnt =0 ;//计数变量
u8 i =0 ;     //P2.1普通IO口用

我们在ai8051u_def.h 里定义了:
#define PCA_SetC0Reload(v)              PCA_SetCnReload(0, (v))
#define PCA_SetC1Reload(v)              PCA_SetCnReload(1, (v))
#define PCA_SetC2Reload(v)              PCA_SetCnReload(2, (v))

#define PCA_SetC0Match(v)               PCA_SetCnMatch(0, (v))
#define PCA_SetC1Match(v)               PCA_SetCnMatch(1, (v))
#define PCA_SetC2Match(v)               PCA_SetCnMatch(2, (v))

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-5 13:50:54 | 显示全部楼层
PCA_SetC0Reload(v) 是用来设置占空比的

  1. ////////////////////////////////////////
  2. // 项目主函数
  3. // 入口参数: 无
  4. // 函数返回: 无
  5. ////////////////////////////////////////
  6. void main(void)
  7. {
  8.     //<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
  9.     // 在此添加用户主函数初始化代码
  10.                 u8 dir =0 ; //方向变量
  11.                 u8 cnt =0 ;//计数变量
  12.                 u8 i =0 ;     //P2.1普通IO口用
  13.     //<<AICUBE_USER_MAIN_INITIAL_END>>
  14.     SYS_Init();
  15.     //<<AICUBE_USER_MAIN_CODE_BEGIN>>
  16.     // 在此添加主函数中运行一次的用户代码  
  17.     //<<AICUBE_USER_MAIN_CODE_END>>
  18.     while (1)
  19.     {
  20.         USBLIB_OUT_Done();              //查询方式处理USB接收的数据
  21.         //<<AICUBE_USER_MAIN_LOOP_BEGIN>>
  22.         // 在此添加主函数中用户主循环代码
  23.                 if(dir==0)
  24.                 {
  25.                         cnt++;
  26.                         if(cnt>=255) dir=1; //dir切换方向
  27.                        
  28.                 }
  29.                 else
  30.                 {
  31.                         cnt--;
  32.                         if(cnt<==0) dir=0;//dir切换方向
  33.                 }
  34.                
  35.                  //PCA_SetC0Reload(v) 是用来设置占空比的
  36.                 PCA_SetC0Reload(cnt);
  37.                
  38.         //<<AICUBE_USER_MAIN_LOOP_END>>
  39.     }
  40. }
复制代码
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2026-3-6 09:40:40 | 显示全部楼层
串口通信实验
实验简单介绍:
截图202603060927578306.jpg
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-4-9 22:25 , Processed in 0.119602 second(s), 80 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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