打印

MSPM0之GPIO翻转切换输出

[复制链接]
788|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xyz549040622|  楼主 | 2023-4-17 23:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GPIO, IO, gp, pi, MCU
常规GPIO翻转切换输出,如果我们使用的是别人家的MCU,那么就是读改写的过程,比如下面这样子:
/**
  * [url=home.php?mod=space&uid=247401]@brief[/url]  Toggle the specified GPIO pin.
  * @param  GPIOx where x can be (A..F) to select the GPIO peripheral for STM32G0xx family
  * @param  GPIO_Pin specifies the pin to be toggled.
  *         This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
  * @retval None
  */
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
{
  uint32_t odr;

  /* Check the parameters */
  assert_param(IS_GPIO_PIN(GPIO_Pin));

  /* get current Output Data Register value */
  odr = GPIOx->ODR;

  /* Set selected pins that were at low level, and reset ones that were high */
  GPIOx->BSRR = ((odr & GPIO_Pin) << GPIO_NUMBER) | (~odr & GPIO_Pin);
}


但如果是MSPM0,那就是下面这个样子:
__STATIC_INLINE void DL_GPIO_togglePins(GPIO_Regs* gpio, uint32_t pins)
{
    gpio->DOUTTGL31_0 = pins;
}
简简单单的一条寄存器操作搞定。因为GPIO的翻转专门有一个寄存器进行操作。






使用特权

评论回复

相关帖子

沙发
youtome| | 2023-6-6 17:07 | 只看该作者
改变gpio引脚输出状态有几种方式?

使用特权

评论回复
板凳
bartonalfred| | 2023-6-6 17:48 | 只看该作者
GPIO有哪几种输入输出模式              

使用特权

评论回复
地板
biechedan| | 2023-6-10 13:50 | 只看该作者
需要配置相应的GPIO端口              

使用特权

评论回复
5
gygp| | 2023-6-13 21:46 | 只看该作者
需要初始化GPIO引脚的工作模式为输出模式。

使用特权

评论回复
6
lzbf| | 2023-6-13 22:53 | 只看该作者
单片机GPIO口可以随意变换吗              

使用特权

评论回复
7
backlugin| | 2023-6-14 11:29 | 只看该作者
在需要翻转输出时,读取GPIO引脚当前的输出状态,并将其翻转(可以使用异或运算符 ^),得到新的输出状态。

使用特权

评论回复
8
geraldbetty| | 2023-7-5 11:41 | 只看该作者
通过操作相应的寄存器或使用库函数,将GPIO引脚的输出状态从当前的状态切换到另一个状态。

使用特权

评论回复
9
beacherblack| | 2023-7-5 11:46 | 只看该作者
需要将目标GPIO引脚配置为输出模式。这可以通过相应的寄存器或库函数来完成。确保选择正确的引脚和端口,并设置其工作模式为输出。

使用特权

评论回复
10
eefas| | 2023-7-5 12:32 | 只看该作者
需要将GPIO引脚配置为输出模式。根据您使用的MCU和开发环境,可以使用相应的库函数或寄存器设置来完成此操作。

使用特权

评论回复
11
1988020566| | 2023-7-5 13:26 | 只看该作者
改变gpio引脚输出状态有几种方式?

使用特权

评论回复
12
jimmhu| | 2023-7-5 14:35 | 只看该作者
GPIO口可以随意变换吗               

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←

2754

主题

19238

帖子

104

粉丝