📄 pio_8h.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>BlueLab: pio.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.8 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div><h1>pio.h File Reference</h1>Access BlueCore I/O lines. <a href="#_details">More...</a><p><h2>Functions</h2><ul><li>void <a class="el" href="pio_8h.html#a0">PioDebounce</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> mask, <a class="el" href="csrtypes_8h.html#a4">uint16</a> count, <a class="el" href="csrtypes_8h.html#a4">uint16</a> period)<dl class="el"><dd class="mdescRight">This is used to setup pin debouncing. <a href="#a0"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="pio_8h.html#a1">PioGet</a> (void)<dl class="el"><dd class="mdescRight">Returns the contents of the PIO data input register. <a href="#a1"></a><br></dl><li>void <a class="el" href="pio_8h.html#a2">PioSet</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> mask, <a class="el" href="csrtypes_8h.html#a4">uint16</a> bits)<dl class="el"><dd class="mdescRight">Modifies the contents of the PIO data output register. <a href="#a2"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="pio_8h.html#a3">PioGetDir</a> (void)<dl class="el"><dd class="mdescRight">Return the contents of the PIO data direction register. <a href="#a3"></a><br></dl><li>void <a class="el" href="pio_8h.html#a4">PioSetDir</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> mask, <a class="el" href="csrtypes_8h.html#a4">uint16</a> dir)<dl class="el"><dd class="mdescRight">Modify the contents of the PIO data direction register. <a href="#a4"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="pio_8h.html#a5">PioGetStrongBias</a> (void)<dl class="el"><dd class="mdescRight">Reads the current setting of the bias register. <a href="#a5"></a><br></dl><li>void <a class="el" href="pio_8h.html#a6">PioSetStrongBias</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> mask, <a class="el" href="csrtypes_8h.html#a4">uint16</a> bits)<dl class="el"><dd class="mdescRight">Sets the bias register. <a href="#a6"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="pio_8h.html#a7">PioSetAuxDac</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> enabled, <a class="el" href="csrtypes_8h.html#a8">uint8</a> level)<dl class="el"><dd class="mdescRight">Enables or disables to auxiliary DAC on BC2, setting the output level to the requested value. <a href="#a7"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a8">PioSetRts</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="csrtypes_8h.html#a9">bool</a>)<dl class="el"><dd class="mdescRight">Controls the settings of the RTS line. <a href="#a8"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a9">PioGetCts</a> (void)<dl class="el"><dd class="mdescRight">Lets the Vm check the status of the Clear To Send uart pin Returns non zero if host transport is set to none and CTS input signal within the uart is set to active, else returns zero. <a href="#a9"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="pio_8h.html#a10">PioGetKalimba</a> (void)<dl class="el"><dd class="mdescRight">Find out which pins are under kalimba control. <a href="#a10"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a11">PioSetKalimba</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> mask, <a class="el" href="csrtypes_8h.html#a4">uint16</a> value)<dl class="el"><dd class="mdescRight">Modify which pins are under kalimba control; returns non-zero if could all be given. <a href="#a11"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a12">PioGetVregEn</a> (void)<dl class="el"><dd class="mdescRight">Returns TRUE if VREG_EN is raised. <a href="#a12"></a><br></dl><li>void <a class="el" href="pio_8h.html#a13">PioSetMicBias</a> (<a class="el" href="csrtypes_8h.html#a9">bool</a> enabled)<dl class="el"><dd class="mdescRight">Control the linear-regulator bit (typically used to control the microphone bias when when the switched mode power supply is being used.). <a href="#a13"></a><br></dl><li>void <a class="el" href="pio_8h.html#a14">PioSetLed0</a> (<a class="el" href="csrtypes_8h.html#a9">bool</a> enabled)<dl class="el"><dd class="mdescRight">Control the LED0 output pin. <a href="#a14"></a><br></dl><li>void <a class="el" href="pio_8h.html#a15">PioSetLed1</a> (<a class="el" href="csrtypes_8h.html#a9">bool</a> enabled)<dl class="el"><dd class="mdescRight">Control the LED1 output pin. <a href="#a15"></a><br></dl><li>void <a class="el" href="pio_8h.html#a16">PioSetPsuRegulator</a> (<a class="el" href="csrtypes_8h.html#a9">bool</a> enabled)<dl class="el"><dd class="mdescRight">Enable or disable the SMPSU regulator. <a href="#a16"></a><br></dl><li>void <a class="el" href="pio_8h.html#a17">PioSetPsuTrim</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> trim)<dl class="el"><dd class="mdescRight">Control the trim on PSU. <a href="#a17"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a18">PioDimLed0</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> duty_cycle, <a class="el" href="csrtypes_8h.html#a4">uint16</a> period)<dl class="el"><dd class="mdescRight">Controls the intensity of LED0. <a href="#a18"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a19">PioDimLed1</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> duty_cycle, <a class="el" href="csrtypes_8h.html#a4">uint16</a> period)<dl class="el"><dd class="mdescRight">Controls the intensity of LED1. <a href="#a19"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a20">PioSetMicBiasHwEnabled</a> (<a class="el" href="csrtypes_8h.html#a9">bool</a> enable)<dl class="el"><dd class="mdescRight">Enables/Disables the dedicated mic bias pin. <a href="#a20"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a21">PioGetMicBiasHwEnabled</a> (void)<dl class="el"><dd class="mdescRight">Gets the dedicated mic bias pin state. <a href="#a21"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a22">PioSetMicBiasHwCurrent</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> current)<dl class="el"><dd class="mdescRight">Sets the current driven out through the mic bias pin. <a href="#a22"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="pio_8h.html#a23">PioGetMicBiasHwCurrent</a> (void)<dl class="el"><dd class="mdescRight">Gets the existing value set for the mic bias pin current. <a href="#a23"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a24">PioSetMicBiasHwVoltage</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> voltage)<dl class="el"><dd class="mdescRight">Sets the voltage driven out through the mic bias pin. <a href="#a24"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="pio_8h.html#a25">PioGetMicBiasHwVoltage</a> (void)<dl class="el"><dd class="mdescRight">Gets the existing value set for the mic bias pin voltage. <a href="#a25"></a><br></dl><li>void <a class="el" href="pio_8h.html#a26">PioSetAudioLDORegulator</a> (<a class="el" href="csrtypes_8h.html#a9">bool</a> enabled)<dl class="el"><dd class="mdescRight">Enable or disable the audio linear regulator. <a href="#a26"></a><br></dl><li>void <a class="el" href="pio_8h.html#a27">PioSetBtLDORegulator</a> (<a class="el" href="csrtypes_8h.html#a9">bool</a> enabled)<dl class="el"><dd class="mdescRight">Enable or disable the Bluetooth linear regulator. <a href="#a27"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a28">PioFlashLed0</a> (<a class="el" href="csrtypes_8h.html#a9">bool</a> enabled, <a class="el" href="csrtypes_8h.html#a4">uint16</a> flash_rate)<dl class="el"><dd class="mdescRight">Control the LED0 flashing hardware. <a href="#a28"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a29">PioFlashLed1</a> (<a class="el" href="csrtypes_8h.html#a9">bool</a> enabled, <a class="el" href="csrtypes_8h.html#a4">uint16</a> flash_rate)<dl class="el"><dd class="mdescRight">Control the LED1 flashing hardware. <a href="#a29"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a30">PioGet32</a> (void)<dl class="el"><dd class="mdescRight">Returns a 32 bit value containing the contents of both the PIO data input registers. <a href="#a30"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a31">PioSet32</a> (<a class="el" href="csrtypes_8h.html#a3">uint32</a> mask, <a class="el" href="csrtypes_8h.html#a3">uint32</a> bits)<dl class="el"><dd class="mdescRight">Modifies the contents of both the PIO data output registers. PIO pins must be set to outputs via PioSetDir32 before they can be driven high or low through this trap. <a href="#a31"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a32">PioGetDir32</a> (void)<dl class="el"><dd class="mdescRight">Returns a 32 bit value containing the contenst of both the PIO data direction registers. <a href="#a32"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a33">PioSetDir32</a> (<a class="el" href="csrtypes_8h.html#a3">uint32</a> mask, <a class="el" href="csrtypes_8h.html#a3">uint32</a> bits)<dl class="el"><dd class="mdescRight">Modifies the contents of both the PIO data direction registers. <a href="#a33"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a34">PioGetStrongBias32</a> (void)<dl class="el"><dd class="mdescRight">Returns a 32 bit value containing the current setting of both the bias registers. <a href="#a34"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a35">PioSetStrongBias32</a> (<a class="el" href="csrtypes_8h.html#a3">uint32</a> mask, <a class="el" href="csrtypes_8h.html#a3">uint32</a> bits)<dl class="el"><dd class="mdescRight">Sets both the bias registers. <a href="#a35"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a36">PioSetMapPins</a> (<a class="el" href="csrtypes_8h.html#a3">uint32</a> mask, <a class="el" href="csrtypes_8h.html#a3">uint32</a> bits)<dl class="el"><dd class="mdescRight">Maps certain chip pins in as PIO pins. <a href="#a36"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a37">PioGetMapPins</a> (void)<dl class="el"><dd class="mdescRight">Returns a 32 bit value showing which PIO lines have been mapped to other pins. Bits 0..31 correspond to PIOs 0..31. <a href="#a37"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a38">PioSetKalimba32</a> (<a class="el" href="csrtypes_8h.html#a3">uint32</a> mask, <a class="el" href="csrtypes_8h.html#a3">uint32</a> value)<dl class="el"><dd class="mdescRight">Modify which pins are under kalimba control; returns non-zero if could all be given. <a href="#a38"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a39">PioGetKalimba32</a> (void)<dl class="el"><dd class="mdescRight">Find out which pins are under kalimba DSP control. Note: Only some BlueCore variants from BC5-MM onwards have access to more than 16 PIO lines. BC3-MM does not have access to more than 16 PIO lines. <a href="#a39"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a40">PioSetDirKalimba32</a> (<a class="el" href="csrtypes_8h.html#a3">uint32</a> mask, <a class="el" href="csrtypes_8h.html#a3">uint32</a> value)<dl class="el"><dd class="mdescRight">Give the DSP control of the PIO direction pins. <a href="#a40"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a41">PioGetDirKalimba32</a> (void)<dl class="el"><dd class="mdescRight">Find out which PIO pins the DSP controls the direction of. <a href="#a41"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a3">uint32</a> <a class="el" href="pio_8h.html#a42">PioDebounce32</a> (<a class="el" href="csrtypes_8h.html#a3">uint32</a> mask, <a class="el" href="csrtypes_8h.html#a4">uint16</a> count, <a class="el" href="csrtypes_8h.html#a4">uint16</a> period)<dl class="el"><dd class="mdescRight">This is used to set PIO debouncing on chips with more than 16 PIOs. <a href="#a42"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a9">bool</a> <a class="el" href="pio_8h.html#a43">PioIsCharging</a> (void)<dl class="el"><dd class="mdescRight">Returns TRUE if the battery is charging, ie charge current is supplied but the terminal voltage has not yet been reached. <a href="#a43"></a><br></dl><li>void <a class="el" href="pio_8h.html#a44">PioSetDirKalimba</a> (<a class="el" href="csrtypes_8h.html#a4">uint16</a> mask, <a class="el" href="csrtypes_8h.html#a4">uint16</a> value)<dl class="el"><dd class="mdescRight">Give the DSP control of the first 16 PIO direction pins. <a href="#a44"></a><br></dl><li><a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="pio_8h.html#a45">PioGetDirKalimba</a> (void)<dl class="el"><dd class="mdescRight">Find out which PIO pins the DSP controls the direction of. <a href="#a45"></a><br></dl></ul><hr><a name="_details"></a><h2>Detailed Description</h2>Access BlueCore I/O lines. <p>BlueCore1 had eight Programmable Input/Output (PIO) pins. BlueCore variants from BlueCore2 onwards have twelve PIO pins and a further three or four pins (dependant on BlueCore variant) may be available if they are not being used as AIO pins. Various hardware and software configurations make use of certain PIO pins, and in such configurations the VM should not attempt to use these pins.<ul><li>Pio[1:0] Used to control external hardware on Class 1 modules.</li><li>Pio[5:2] Used for USB.</li><li>Pio[7:6] Used for I2C.</li></ul><p>Some BlueCore variants from BlueCore5-MM onwards have 16 PIO pins and can also control some of the chips UART/PCM lines by mapping them in as PIO pins 16 and greater. Mapping a UART/PCM line as a PIO line stops the line performing its original function, so these lines should only be used as PIOs when these interfaces are not required.<p>Attempts to configure the upper 16 PIOs will be rejected if these pins have not been mapped first.<hr><h2>Function Documentation</h2><a class="anchor" name="a0" doxytag="pio.h::PioDebounce" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void PioDebounce </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="csrtypes_8h.html#a4">uint16</a> </td> <td class="mdname" nowrap> <em>mask</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="csrtypes_8h.html#a4">uint16</a> </td> <td class="mdname" nowrap> <em>count</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="csrtypes_8h.html#a4">uint16</a> </td> <td class="mdname" nowrap> <em>period</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>This is used to setup pin debouncing. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>mask</em> </td><td>The bit mask to debounce. </td></tr> <tr><td></td><td valign=top><em>count</em> </td><td>The number of times to read from the pins before we are convinced. </td></tr> <tr><td></td><td valign=top><em>period</em> </td><td>The delay in milliseconds between reads.</td></tr> </table></dl>A MESSAGE_PIO_CHANGED message will be delivered to the task setup by MessagePioTask when the (debounced) state of the pio lines has changed. </td> </tr></table><a class="anchor" name="a1" doxytag="pio.h::PioGet" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="csrtypes_8h.html#a4">uint16</a> PioGet </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Returns the contents of the PIO data input register. <p> </td> </tr></table><a class="anchor" name="a2" doxytag="pio.h::PioSet" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void PioSet </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="csrtypes_8h.html#a4">uint16</a> </td> <td class="mdname" nowrap> <em>mask</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="csrtypes_8h.html#a4">uint16</a> </td> <td class="mdname" nowrap> <em>bits</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Modifies the contents of the PIO data output register. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>mask</em> </td><td>The bit mask to use. </td></tr> <tr><td></td><td valign=top><em>bits</em> </td><td>The bits to use.</td></tr> </table></dl>This function is used to write the value of the data-output register. Only a subset of bits is written, controlled by the value of 'mask'; setting a bit in mask allows the corresponding bit in the output register to be changed according to the value of the bit in data. Note that bits not set in the mask lead to the corresponding output bits being set to the value shown in the data input register rather than the value stored in the data output register. i.e.<p><div class="fragment"><pre> foreach bit <span class="keywordflow">if</span> mask[bit] is 1 pioOut[bit] => data[bit] <span class="keywordflow">else</span> pioOut[bit] => pioIn[bit]</pre></div><p>BlueCore (excluding BC01) has internal resistors which can be configured to either pull-up or pull-down mode when the pins are used for input. This is controlled by the value written to the output register using 'PioSet'. The resistors pull-down if the value is zero, and pull-up otherwise, so the following fragment sets pins 1 and 2 to inputs with pin 1 configured to pull-up and pin 2 configured to pull-down.<p><div class="fragment"><pre> <a class="code" href="pio_8h.html#a2">PioSet</a>(2|4, 2); <a class="code" href="pio_8h.html#a4">PioSetDir</a>(2|4, 0);</pre></div> </td> </tr></table><a class="anchor" name="a3" doxytag="pio.h::PioGetDir" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="csrtypes_8h.html#a4">uint16</a> PioGetDir </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Return the contents of the PIO data direction register. <p> </td> </tr></table><a class="anchor" name="a4" doxytag="pio.h::PioSetDir" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void PioSetDir </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="csrtypes_8h.html#a4">uint16</a> </td> <td class="mdname" nowrap> <em>mask</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="csrtypes_8h.html#a4">uint16</a> </td> <td class="mdname" nowrap> <em>dir</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Modify the contents of the PIO data direction register. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>mask</em> </td><td>The bit mask to use. </td></tr> <tr><td></td><td valign=top><em>dir</em> </td><td>The direction to use.</td></tr> </table></dl>Only a subset of the bits is written, controlled by the value of 'mask'; setting a bit in mask allows the corresponding bit in the data direction register to be set to the value of the bit in 'data'. Setting a bit in the data direction register make that pin an output. </td> </tr></table><a class="anchor" name="a5" doxytag="pio.h::PioGetStrongBias" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -