[通用 MCU] 配置寄存器使PWM失能并设置停止时的电平

[复制链接]
1972|17
 楼主| 610u 发表于 2024-3-21 14:15 | 显示全部楼层 |阅读模式
XMC1302是英飞凌(Infineon)的一款32位微控制器,具有多个PWM通道。要配置寄存器使PWM失能并设置停止时的电平,您需要做以下步骤:

选择PWM通道:确定您要失能的PWM通道。XMC1302有多个PWM通道,您需要选择您想要配置的特定通道。

配置PWM控制寄存器:使用特定的寄存器来配置PWM通道的工作模式和停止电平。

设置PWM失能:将相应的位或标志位设置为禁用PWM输出。

配置停止时的电平:根据您的需求,设置停止时的电平,例如将PWM输出设置为高电平或低电平。

 楼主| 610u 发表于 2024-3-21 14:15 | 显示全部楼层
下面是一个简单的伪代码示例,演示如何使用XMC1302的寄存器来实现上述操作:

// 选择特定的PWM通道(例如PWM通道0)
// 假设 PWM0 的控制寄存器地址为 PWM0_CR
#define PWM0_CR (*(volatile unsigned long *)0x40000000)

// 设置 PWM0_CR 寄存器的位[1:0]为 0b00,即禁用 PWM 输出
PWM0_CR &= ~(0x3);

// 设置停止时的电平,假设设置为低电平
// 假设 PWM0 的停止寄存器地址为 PWM0_SCTR
#define PWM0_SCTR (*(volatile unsigned long *)0x40000004)

// 设置 PWM0_SCTR 寄存器的位[0]为 0,即低电平
PWM0_SCTR &= ~(0x1);
上述示例中的地址和位偏移是示例地址,实际使用时需要查阅XMC1302的数据手册以获取正确的寄存器地址和位偏移。
IFX_Lingling 发表于 2024-3-21 15:26 | 显示全部楼层
可以参考另外一个讨论的帖子:
https://bbs.21ic.com/icview-3354704-1-1.html
LOVEEVER 发表于 2024-3-27 17:35 | 显示全部楼层
XMC1302是英飞凌(Infineon)的一款32位微控制器具体开发容易上手嘛?
jf101 发表于 2024-3-28 18:04 | 显示全部楼层
应该是使能吧?失能就无法工作了
星辰大海不退缩 发表于 2024-3-29 14:26 | 显示全部楼层
PWM的波形使用还是非常多的,非常适合中多调速场景
Annie556 发表于 2024-3-29 15:48 | 显示全部楼层
XMC1302和现在的STM32F103是不是性能也差不多啊
Betty996 发表于 2024-3-29 16:54 | 显示全部楼层
这个XMC系列的芯片好像开发起来更麻烦吧
Carina卡 发表于 2024-3-29 18:08 | 显示全部楼层
话说,这XMC和TC系列,哪个更有优势?
Charlene沙 发表于 2024-3-29 19:13 | 显示全部楼层
设置PWM失能的话,可以看看例程就好了吧,有关闭寄存器的
Alina艾 发表于 2024-3-29 20:19 | 显示全部楼层
你说设置停止时的默认电平?
Estelle1999 发表于 2024-3-29 21:24 | 显示全部楼层
这个比较简单,就关闭PWM和配置电平应该都是有例程的
Emily999 发表于 2024-3-29 22:54 | 显示全部楼层
话说,这XMC是用寄存器来操作?没有库函数?
alxd 发表于 2024-3-30 06:21 | 显示全部楼层
XMC好像比较麻烦啊,还得用寄存器来弄啊
Belle1257 发表于 2024-3-30 07:23 | 显示全部楼层
多通道PWM配置停止电平是不是不太容易啊?直接IO控制一下电平是不是也行
B1lanche 发表于 2024-3-30 10:05 | 显示全部楼层
这种操作寄存器的确实不错,速度会很快,缺点就是不容易记得

小夏天的大西瓜 发表于 2024-4-22 22:06 | 显示全部楼层
LOVEEVER 发表于 2024-3-27 17:35
XMC1302是英飞凌(Infineon)的一款32位微控制器具体开发容易上手嘛?

应该挺容易上手的,加油
中国龙芯CDX 发表于 2024-4-23 15:10 | 显示全部楼层
PWM使能并设置停止时的电平对于一些控制非常方便
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

568

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部