当前位置: 首页 > news >正文

BAT32G113 发送互补PWM

方式1: 利用定时器4发送

TM40_PWM_1Period_2Duty(64, 32, 32);	
void TM40_PWM_1Period_2Duty(uint16_t period, uint16_t duty1, uint16_t duty2)
{CGC->PER0 |= CGC_PER0_TM40EN_Msk;    /* enables input clock supply */TM40->TPS0 = _0000_TM4_CKM3_fCLK_8 | _0000_TM4_CKM2_fCLK_1 | _0000_TM4_CKM1_fCLK_0 | _0000_TM4_CKM0_fCLK_0; /* master channel */TM40->TMR00 = _8000_TM4_CLOCK_SELECT_CKM1 | _0000_TM4_TRIGGER_SOFTWARE | _0001_TM4_MODE_PWM_MASTER;TM40->TDR00 = period - 1;TM40->TO0  &= ~_0001_TM4_CH0_OUTPUT_VALUE_1;TM40->TOE0 &= ~_0001_TM4_CH0_OUTPUT_ENABLE;/* slave channel */TM40->TMR01 = _8000_TM4_CLOCK_SELECT_CKM1 | _0400_TM4_TRIGGER_MASTER_INT | _0009_TM4_MODE_PWM_SLAVE;TM40->TDR01 = duty1;TM40->TOM0 |=  _0002_TM4_CH1_SLAVE_OUTPUT;       /* slave channel output mode */TM40->TOL0 &= ~_0002_TM4_CH1_OUTPUT_LEVEL_L;     /* positive logic output (active-high) */	TM40->TO0  &= ~_0002_TM4_CH1_OUTPUT_VALUE_1;     /* TOmp default output level */TM40->TOE0 |=  _0002_TM4_CH1_OUTPUT_ENABLE;      /* Enable TOmp output by counting operation */TO01_PORT_SETTING();/* slave channel */TM40->TMR02 = _8000_TM4_CLOCK_SELECT_CKM1 | _0400_TM4_TRIGGER_MASTER_INT | _0009_TM4_MODE_PWM_SLAVE;TM40->TDR02 = duty2;TM40->TOM0 |=  _0004_TM4_CH2_SLAVE_OUTPUT;       /* slave channel output mode *///TM40->TOL0 &= ~_0004_TM4_CH2_OUTPUT_LEVEL_L;     /* positive logic output (active-high) *///修改此处,设置输出电压极性不同;TM40->TOL0 |= ~_0004_TM4_CH2_OUTPUT_LEVEL_L;     /* positive logic output (active-high) */TM40->TO0  &= ~_0004_TM4_CH2_OUTPUT_VALUE_1;     /* TOmp default output level */TM40->TOE0 |=  _0004_TM4_CH2_OUTPUT_ENABLE;      /* Enable TOmp output by counting operation */TO02_PORT_SETTING();/* Start specify channel */TM40_Channel_Start(TM4_CHANNEL_0 | TM4_CHANNEL_1 | TM4_CHANNEL_2);
}

方式二:利用定时器B产生

//TMB0_DoublePulseOutput(tmb_clock_t clk, uint16_t period, uint16_t skew)TMB0_DoublePulseOutput(TMB_CLOCK_FCLK, 64, 21);delayMS(100);

其中: skew = period / 2 - 1;

相关文章:

  • 第十九章:数据治理之数据指标(一):数据指标工具之【指标口径管理系统】与【指标数据查询系统】
  • (九)PMSM驱动控制学习---无感控制之高阶滑膜观测器
  • obsidian 中的查找和替换插件,支持正则
  • STL-从list节点创建和释放展开(内存管理)
  • Linux系统编程-DAY04
  • C语言初阶--操作符
  • 升级Win11后VMware虚拟机屏幕调整问题
  • 领域驱动设计与COLA框架:从理论到实践的落地之路
  • 数字信号处理大实验2.1(基础) 快速傅里叶变换与FFT的时域频域对称性质
  • 微软Build 2025五大AI发布
  • Spring Cloud项目登录认证从JWT切换到Redis + UUID Token方案
  • 前置过滤器和净水机安哪个?
  • git checkout 通配符
  • Kafka Consumer工作流程
  • JVM 的类加载机制
  • 贪心算法应用:贝尔曼-福特松弛问题详解
  • 贪心算法应用:Ford-Fulkerson最大流问题详解
  • 自训练NL-SQL模型
  • webpack优化方法
  • Linux系统之----磁盘硬件
  • wordpress 搭建教育/seo的优缺点
  • 关于网站建设方案/网站关键词怎么写
  • 如何做flash游戏下载网站/百度风云榜明星
  • 网站建设课后心得/河北百度代理公司
  • 自己做网站挂广告/什么软件可以弄排名
  • 企业网站建设费用怎么记账/互联网营销师证