MSPM0之GPIO翻转切换输出

[复制链接]
1755|11
 楼主| xyz549040622 发表于 2023-4-17 23:21 | 显示全部楼层 |阅读模式
GPIO, IO, gp, pi, MCU
常规GPIO翻转切换输出,如果我们使用的是别人家的MCU,那么就是读改写的过程,比如下面这样子:
  1. /**
  2.   * [url=home.php?mod=space&uid=247401]@brief[/url]  Toggle the specified GPIO pin.
  3.   * @param  GPIOx where x can be (A..F) to select the GPIO peripheral for STM32G0xx family
  4.   * @param  GPIO_Pin specifies the pin to be toggled.
  5.   *         This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
  6.   * @retval None
  7.   */
  8. void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
  9. {
  10.   uint32_t odr;

  11.   /* Check the parameters */
  12.   assert_param(IS_GPIO_PIN(GPIO_Pin));

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

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


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






youtome 发表于 2023-6-6 17:07 | 显示全部楼层
改变gpio引脚输出状态有几种方式?
bartonalfred 发表于 2023-6-6 17:48 | 显示全部楼层
GPIO有哪几种输入输出模式              
biechedan 发表于 2023-6-10 13:50 | 显示全部楼层
需要配置相应的GPIO端口              
gygp 发表于 2023-6-13 21:46 | 显示全部楼层
需要初始化GPIO引脚的工作模式为输出模式。
lzbf 发表于 2023-6-13 22:53 | 显示全部楼层
单片机GPIO口可以随意变换吗              
backlugin 发表于 2023-6-14 11:29 | 显示全部楼层
在需要翻转输出时,读取GPIO引脚当前的输出状态,并将其翻转(可以使用异或运算符 ^),得到新的输出状态。
geraldbetty 发表于 2023-7-5 11:41 | 显示全部楼层
通过操作相应的寄存器或使用库函数,将GPIO引脚的输出状态从当前的状态切换到另一个状态。
beacherblack 发表于 2023-7-5 11:46 | 显示全部楼层
需要将目标GPIO引脚配置为输出模式。这可以通过相应的寄存器或库函数来完成。确保选择正确的引脚和端口,并设置其工作模式为输出。
eefas 发表于 2023-7-5 12:32 | 显示全部楼层
需要将GPIO引脚配置为输出模式。根据您使用的MCU和开发环境,可以使用相应的库函数或寄存器设置来完成此操作。

1988020566 发表于 2023-7-5 13:26 | 显示全部楼层
改变gpio引脚输出状态有几种方式?
jimmhu 发表于 2023-7-5 14:35 | 显示全部楼层
GPIO口可以随意变换吗               
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

2841

主题

19330

帖子

110

粉丝
快速回复 在线客服 返回列表 返回顶部