猿问

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

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位么?求详细解答

噜噜哒
浏览 682回答 2
2回答

呼唤远方

您好!请问你使用的处理器是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;

白衣染霜花

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。
随时随地看视频慕课网APP
我要回答