LPC1114,怎么通过设置PWMC来确定哪个引脚作为PWM输出,原理是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LPC1114,怎么通过设置PWMC来确定哪个引脚作为PWM输出,原理是啥?相关的知识,希望对你有一定的参考价值。

参考技术A 这些引脚的意思,恐怕你要查它的用户手册,很详尽,有你想知道的所有信息。
PWM的输出是通过你的程序来实现的,从PWM0-PWM7都可以实现PWM输出,至于怎么实现的,你要看它的内部寄存器配置。
通过按键实现占空比调整,可以这样来实现,当按键没有按下的时候,P0.14输入的是高电平(因为有上拉电阻),当按键按下的时侯,因为R1、R2分压的作用,R1的电阻很低,管脚输入的是低电平,当低电平的时候,触发中断,然后调节占空比。本回答被提问者采纳

STM32F103RB - 如何知道使用哪个引脚发送触发信号

【中文标题】STM32F103RB - 如何知道使用哪个引脚发送触发信号【英文标题】:STM32F103RB - How to know what pin to use to send a trigger signal 【发布时间】:2021-03-11 03:51:02 【问题描述】:

首先原谅我,因为我是嵌入式系统的初学者。

我正在使用 Nucleo STM32F103RB。我正在尝试通过设置我的 STM 的 GPIO 引脚将触发信号从我的 STM 发送到 FPGA 卡,但我不确定要连接哪个引脚。

这是我用来驱动 GPIO 的代码:

HAL_GPIO_WritePin(Trigger_GPIO_Port, Trigger_Pin, GPIO_PIN_SET);
//do something
HAL_GPIO_WritePin(Trigger_GPIO_Port, Trigger_Pin, GPIO_PIN_RESET);

Trigger_GPIO_PortTrigger_Pin 定义如下:

#define Trigger_Pin GPIO_PIN_2
#define Trigger_GPIO_Port GPIOB

通过使用STMCube32软件,我得到了以下图片:

因此,我根据 STM32Cube 给我的图片将自己的电路板的 PC9 引脚连接为触发器。

我这样做有错吗?这似乎不起作用... 我怎样才能简单地从我的板上发送触发器?

感谢您的帮助!

【问题讨论】:

我个人会避免使用 CubeMX。我可以看到对于初学者来说,它似乎比裸机或旧的标准外设库更有吸引力,但如果你想要那种易于使用,我建议使用 Mbed (os.mbed.com)。 your board 完全支持它,并且是 ARM 微控制器而不是 STM32 特定的,因此您可以选择更广泛的平台和板卡。 【参考方案1】:

您的 CubeMX 引脚排列建议使用 PC9,但您的代码:

#define Trigger_Pin GPIO_PIN_2
#define Trigger_GPIO_Port GPIOB

明确将PB2定义为GPIO Port B pin 2

您似乎在某个阶段修改了 CubeMX 配置,但未能重新生成代码。你应该有:

#define Trigger_Pin GPIO_PIN_9
#define Trigger_GPIO_Port GPIOC

或者简单地连接 PB2 - 虽然如果你想保持你的代码和 CubeMX 同步,我建议你重新生成代码,特别是如果你做了其他也需要包含的更改。

在 Nucleo 连接器引脚排列中,蓝色标签对应于微控制器引脚。洋红色标签是对应的 Arduino Shield 引脚名称。

【讨论】:

以上是关于LPC1114,怎么通过设置PWMC来确定哪个引脚作为PWM输出,原理是啥?的主要内容,如果未能解决你的问题,请参考以下文章

用LPC1114怎么用定时器定时20ms

LPC2134单片机解密型号

高分悬赏:LPC1114实现ADC转换的详细教程及程序,详解???

引脚配置IOCON

引脚配置IOCON

STM32F103RB - 如何知道使用哪个引脚发送触发信号