[arduino][stm32f072] 修正f072反向PWM不输出的问题

This commit is contained in:
Meco Man 2022-07-26 11:50:49 -04:00 committed by guo
parent 250b3cbc16
commit c775809223
2 changed files with 7 additions and 7 deletions

View File

@ -32,7 +32,7 @@ Hardware Drivers Config --->
| 7 (D7) | PA8 | 是 | |
| 8 (D8) | PA9 | 是 | |
| 9 (D9) | PC7 | 是 | PWM定时器3发生 |
| 10 (D10) | PB6 | 是 | PWM反相位定时器16发生 |
| 10 (D10) | PB6 | 是 | PWM定时器16发生 |
| 11 (D11) | PA7 | 否 | PWM定时器17发生 |
| 12 (D12) | PA6 | 否 | |
| 13 (D13) | PA5 | 否 | |
@ -50,10 +50,10 @@ Hardware Drivers Config --->
> 注意:
>
> 1. D10引脚是PWM反相位引脚这是由STM32设计决定的例如正常的PWM设定占空比是20%它就是20%。但是对于D10引脚设定占空比是20%实际输出的占空比是80%
> 2. 驱动舵机和analogWrite函数要选择不同定时器发生的PWM信号引脚由于STM32的定时器4个通道需要保持相同的频率如果采用相同的定时器发生的PWM分别驱动舵机和analogWrite可能会导致舵机失效
> 3. USART2是Nucleo板的默认串口理论应对接到了Arduino引脚编号的D0和D1但是其实际用于串口通信因此不允许当做普通IO来使用和操作。如果需要将D0、D1与STM32 USART2的引脚相连需要手动焊接锡桥SB62、SB63
> 4. Nucleo板的Arduino接口中AVDD即AREF默认是与VDD相连的如果需要扩展板提供外部参考电压需要将SB57锡桥挑开
> 1. 驱动舵机和analogWrite函数要选择不同定时器发生的PWM信号引脚由于STM32的定时器4个通道需要保持相同的频率如果采用相同的定时器发生的PWM分别驱动舵机和analogWrite可能会导致舵机失效
> 2. USART2是Nucleo板的默认串口理论应对接到了Arduino引脚编号的D0和D1但是其实际用于串口通信因此不允许当做普通IO来使用和操作。如果需要将D0、D1与STM32 USART2的引脚相连需要手动焊接锡桥SB62、SB63
> 3. Nucleo板的Arduino接口中AVDD即AREF默认是与VDD相连的如果需要扩展板提供外部参考电压需要将SB57锡桥挑开
> 4. D10引脚是PWM反相位引脚(也就是常说的互补输出引脚CHxN)。但是这里不用考虑到占空比互补问题CHx-20%CHxN-80%),直接正常使用即可
> 参考资料
>
@ -61,4 +61,4 @@ Hardware Drivers Config --->
## 3 I2C总线
STM32F072 Nucleo板的I2C总线是板上丝印的 `SCL/D15``SDA/D14` 引脚这两个引脚是被RT-Thread I2C设备框架接管的不需要直接操控这两个引脚直接引用`#include <Wire.h>`Arduino官方I2C头文件即可使用。
STM32F072 Nucleo板的I2C总线是板上丝印的 `SCL/D15``SDA/D14` 引脚这两个引脚是被RT-Thread I2C设备框架接管的不需要直接操控这两个引脚直接引用`#include <Wire.h>`Arduino官方I2C头文件即可使用。

View File

@ -30,7 +30,7 @@ const pin_map_t pin_map_table[]=
{D7, GET_PIN(A,8)},
{D8, GET_PIN(A,9)},
{D9, GET_PIN(C,7), "pwm3", 2}, /* PWM */
{D10, GET_PIN(B,6), "pwm16", 1}, /* PWM */
{D10, GET_PIN(B,6), "pwm16", -1}, /* PWM16 CH1N */
{D11, GET_PIN(A,7), "pwm17", 1}, /* PWM */
{D12, GET_PIN(A,6)},
{D13, GET_PIN(A,5)},