嵌入式学习之IO小总结
发布日期:2021-05-20 09:28:31 浏览次数:20 分类:精选文章

本文共 331 字,大约阅读时间需要 1 分钟。

3.3V高电压是LED灯泡常见的电压,很多人在使用时就会遇到一个误区:当引脚输出为0V时LED不会亮,而输出为3.3V时才会亮。这让初次接触的人容易感到困惑,觉得板子有问题。但实际上这是LED的正常工作原理。那么,为什么会这样?

有时候处理灯泡的反转操作可能听起来很复杂,比如:

  • LED0=!LED0;
  • 看起来像是将一个地址自赋取非操作。但实际上这跟我们在C语言中使用指针的方式有些相似:右边是访问指针指向的内存单元,将其值取非,然后再放回去。但左边是直接通过指针引用,这样更直观。

    如果你不想用位操作,直接采用简单的寄存器操作更方便:

    • GPIOA->ODR ^= 1 << n;这直接对指定位进行取反操作,简单易懂。

    对了,你在实际开发中是怎么处理这些操作的?

    上一篇:嵌入式学习之时钟系统
    下一篇:stm32学习之按键输入检测

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年04月23日 04时55分19秒