为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬帮帮忙,想求GPIOPinWrite()函数详解!

求大佬帮帮忙,想求GPIOPinWrite()函数详解!

噜噜哒 2021-10-14 15:11:52
GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 1)这个函数的意思是GPIO B6写入1么?那 GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0x00000004)的意思是GPIO F2写入4?F2不就是一个输出么,要么0要么1,为啥还有4呢?看函数的解释说好像是位3是1其余位是0,还是不懂,F2不就是1位么?求详细解答
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

您好!

请问你使用的处理器是TI的ARM Cotex-M4处理器吗?

对于Tiva处理器,可以使用TI官方提供的库函数,TivaWare里的外设驱动库

GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 1)--》往B口写数据;
因为Tiva有个BitMask的功能, 函数中的第二个参数表示要改变B口的哪些位,需要改变的Bits位用1表示;例如要改变低4为,则输入0x0F;如要改变最高位和最低位则输入0x81;
第三个参数表示要写入的数值,与参数二结合,只有参数2当中为1的位才会被改写为相应的数值;

举例:
(1)GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 1) --B口的PIN_6输出0,其它位不变;
(2)GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 0xFF) --B口的PIN_6写1,其它位不变;
(3)GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6 | GPIO_PIN_2, 0xF0)
----B口的Pin6 输出1, 同时,Pin2输出0;

查看完整回答
反对 回复 2021-10-17
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 1)这个函数的意思是GPIOB6写入1;GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0x00000004)的意思是GPIOF写入4,即为:F0写0,F1写0,F2写1,F3……15都写0。

查看完整回答
反对 回复 2021-10-17
  • 2 回答
  • 0 关注
  • 572 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信