scdyzjcq 发表于 2024-4-23 10:34

请教一个mpcfigboard.h文件中关于LED3PWM宏定义的问题

<p>pyboard10的mpconfigboard.h文件中宏定义LED3PWM功能#define&nbsp;MICROPY_HW_LED3_PWM&nbsp;{TIM2,2,TIM_CHANNE_1,GPIO_AF1_TIM2}中的2是什么含义?通过查询,知道LED3使用PA15引脚,使用是定时器TIM2_CH1,引脚复用是AF1。</p>
<p>LED4接的PB4,该引脚使用的是TIM3_CH1引脚复用是AF2,在该文件是这样定义的#define&nbsp;MICROPY_HW_LED4_PWM&nbsp;{TIM3,3,TIM_CHANNE_1,GPIO_AF2_TIM3}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果LED3使用的是PD13引脚,该引脚使用的定时器是TIM4_CH2,复用功能是AF2,能否写成#define&nbsp;MICROPY_HW_LED3_PWM&nbsp;{TIM4,4,TIM_CHANNE_2,GPIO_AF2_TIM4}?</p>

秦天qintian0303 发表于 2024-4-23 14:02

<p>这个建议你去程序里面考一下,这样的宏定义应该知识一个首地址,你要看一下程序里是怎么用的</p>

dcexpert 发表于 2024-4-23 17:10

<p>这个定义是为了使用PWM改变LED亮度的,所以需要使用支持PWM功能的引脚。在STM32上,就是对应某个定时器输出通道的引脚。</p>

<p>&nbsp;</p>

<p>TIM2, 2, TIM_CHANNEL_1, GPIO_AF1_TIM2</p>

<p>&nbsp;</p>

<p>就代表定时器2的通道1。如果你改用其它定时器,就需要对应修改,注意需要同时修改 MICROPY_HW_LED3 和 MICROPY_HW_LED3_PWM 的定义。</p>

<p>&nbsp;</p>

dcexpert 发表于 2024-4-23 17:20

<p>注意使用这个功能后,会占用相应的定时器,也就是说如果程序中使用了这个定时器,就会造成LED.intensity()功能失效。</p>

wangerxian 发表于 2024-4-23 18:54

<p>你得看 MICROPY_HW_LED4_PWM 函数,第二个参数的描述具体是什么。</p>

scdyzjcq 发表于 2024-4-23 20:36

<p>谢谢各位解答。我的板子LED接到了PD12,PD13,PD14和PD15脚。在led.c文件看到了官方LED只使用了TIM1~3。在里面添加了TIM4后,编译下载后,可以在LED3和LED4使用LED.intensity()功能了。</p><br/>

scdyzjcq 发表于 2024-4-23 20:40

<div class='shownolgin' data-isdigest='no'><p>那个单独的1,2,3应该是ID号</p><br/></div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页: [1]
查看完整版本: 请教一个mpcfigboard.h文件中关于LED3PWM宏定义的问题