CSR 8670 Access BlueCore I/O lines

来源:互联网 发布:淘宝成交指数 编辑:程序博客网 时间:2024/05/22 11:52

Access BlueCore I/O lines.
/访问BlueCore I/O线/

/*

BlueCore variants from BlueCore2 onwards have twelve Programmable Input/Output(PIO) pins
蓝牙内核2代有12个可编程的PIO PIN脚
and a further three
和3个或者4个底层PIN脚(在蓝牙内核上的寄存器)
or four pins (dependant on BlueCore variant)
may be available ,if they are not being used as AIO pins.
来选择取,他们(3或4PIN )是否作为PIO PIN脚

*/

/*
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.
大意:
一些蓝牙,例如 蓝牙内核5代,有16个pin 脚可以作为GPIO也可以作为分时复用控制芯片的UART/PCM功能。
做了分时复用控制功能脚,就不能作为IO功能
*/

/*

Attempts to configure the upper 16 PIOs will be rejected if these pins have not been mapped first.
如果对应的PIN脚没有没有给映射,那么你是没有办法去配置这个脚位的

*/

/*
Persistent Store keys may be set to hand control of certain PIO pins over to the BlueCore firmware.
长期存储的键值可以通过蓝牙的内核的固件设定为手动控制(PS Tool)

Examples include PSKEY_USB_PIO_WAKEUP, PSKEY_USB_PIO_DETACH, PSKEY_USB_PIO_PULLUP and PSKEY_USB_PIO_VBUS.

例如:
PSKEY_USB_PIO_WAKEUP 唤醒键
PSKEY_USB_PIO_DETACH 分开
PSKEY_USB_PIO_PULLUP 强拉
PSKEY_USB_PIO_VBUS 地址总线

In such configurations the VM should not attempt to use these pins.

像这样配置VM(虚拟机)不应该去配置这脚位

*/

/*

Function Documentation

bool PioSetAuxDac ( bool enabled, uint8 level )

Enables or disables the auxiliary DAC on BlueCore, setting the output level to the requested value

蓝牙内核 开启或者关闭辅助DAC,用于设定输出值为你需要的值

Parameters(特征)

enabled TRUE or FALSE.

level The output level to use.

Returns(返回值)

TRUE if the request succeeded;

FALSE if it could not be honoured because the DAC is in use by other parts of the firmware(固件).

Note that the auxiliary(辅助) DAC level drops(减少) to 0V when BlueCore enters deep sleep(深度睡眠) for power-saving(节能).

*/

/*
Various other hardware and software configurations make use of specific PIO pins.

各种意见和软件配置用于按照规格配置PIO脚

Examples include:
列如:
Pio[1:0] Used to control external hardware on Class 1 modules.
外输入硬件控制用于Class 1 modules
Pio[7:6] Used for I2C.
用于I2C的协议

*/

/*
函数
uint32 PioDebounce32 (uint32 mask, uint16 count, uint16 period )

Configure PIO monitoring.//配置PIO的监控文件。(按键消除抖动处理)
特征
Parameters
mask Bitmask indicating which pins to monitor.
PIN脚的检测标志位
Setting this to zero disables PIO monitoring.
0为关闭PIN脚标志位监控

count How many times the monitored pins’ state must be observed to be consistent before it is considered stable.
(在这个脚位稳定之前必须连续观察,稳定之前需花费多长的时间)
Zero and one have special significance. (0和1都有特别的意义)
If count is 1, then no debouncing is performed - any perceived change of the pins will raise the event.
假如Cont为1,没有设定消除抖动处理,任何变化都会改变PIN脚的状态,都会改变别的别的事件(未知)
If count is 0, any transition raises the event, even if no change in pin state can be detected;
假如Cont为0,任何变化事件,检测脚没有改变PIN脚状态,
in this case, the “state” members of MessagePioChanged may show no change in state.
在这个情况下,这个状态属于( MessagePioChanged –信息PIO改变)可以显示着状态没有变化

MessagePioChanged Struct Reference
MESSAGE_PIO_CHANGED: Message type received when the PIO state has changed.
/ /当PIO状态发生改变是,随时接收信息。

period The delay in milliseconds between successive reads of the pins.
(去抖动时间)

Returns
A 32 bit mask.
If any bit in this mask is high then monitoring could not be set up for that PIO;
如何设定成H的监控标志位,那就不能设定为PIO口
no action will have been taken on any PIOs (any previously set up monitoring will remain in force).
如PIO口果没有任何操作,(以前设定的检测有效果)
The most likely reasons for a non-zero return are attempting to debounce nonexistent PIOs, or attempting to debounce unmapped PIOs.
最有可能的原因, 返回值非0,是由于试着去除不存在的IO口消除抖动,或者试着给映射的IO口消抖动
See the PioSetMapPins32() documentation for information on which PIOs can be mapped.
去看PioSetMapPins32()函数参考文档信息,看OI口的映射信息。

****This function configures a simple debounce engine for PIO input pins.
这个就功能配置就是简单的给PIO口去抖动,**
It can detect transitions on PIOs and return stabilised readings for them, filtering out glitches.
它(指的这个这个函数)检测IO口,并且返回稳定的值,和滤波作用。**

When the engine detects a change in state of one or more of the monitored pins, it repeatedly reads the pin state.
当我们去检测,监控引脚状态的引脚发生变化时,它会反复的读取检测的引脚状态
If the state of all the monitored pins remains unchanged for count successive samples,
如果连续采样被检测的引脚的状态没有变化,
it is considered stable and a MESSAGE_PIO_CHANGED message is sent to the task registered with MessagePioTask().
他将会被认为是稳定并且MESSAGE_PIO_CHANGED 函数会把消息注册发送给函数 MessagePioTask().

Note:
***It is not possible to configure different debounce settings for different pins or groups of pins,
不可能实现,设定定不同的消除配置,对应配置不同脚位,或者是各个脚位相互独立消除抖动
or to debounce pins independently of each other.*

Note:
It is not possible to configure different debounce settings for different pins or groups of pins,
不可能实现,设定定不同的消除配置,对应配置不同脚位,或者是各个脚位相互独立消除抖动
or to debounce pins independently of each other.

Examples:

   To enable events on PIO2 and PIO3, with 4 reads 2ms apart (6ms total):   PIO2和PIO2开启,分4次读取,每次间隔2MS,,(6ms总数---感觉应该是8次)   PioDebounce32(1u<<2 | 1u<<3, 4, 2);                1左移2位,1左移3位,4,2mS的间隔   To enable events on any transition on PIO5 with no debouncing    PIO5,不要去抖动,不要时间间隔   PioDebounce32(1u<<5, 1, 0);   1左移5位,不需要去抖动,不要时间间隔     

*/

uint32 PioGet32 (void)

Returns the contents of the PIO data input register.

PIO的输入数据寄存器的返回值

For PIOs set as outputs, this function will return the value last written using PioSet32().

PIOs设置为输出,这个函数将返回值,最后用pioset32()

uint32 PioSet32 (uint32 mask, uint32 bits)

Modifies the contents of the PIO data output register.
修改PIO的输出寄存器的值
PIO pins must be set to outputs via PioSetDir32()
PIO Pin脚位 设定必须使用PioSetDir32()函数

before they can be driven high or low through this trap.
他们可以驱动H或者L来穿过trap,
This trap also sets pull direction for PIOs used as inputs.

这个trap也可以作为PIO输入设为OD模式

Parameters

      mask  Each bit in the mask corresponds to a PIO line.          每个标志位,PIO对应一个位      Bits set to 1 in this mask will be modified.      需修改数据,该标志位置1,      Bits set to 0 in this mask will not be modified.      不许需修改数据,该标志位置0,      bits  Each bit in the "bits" value corresponds to a PIO line.       每个位的值都有对应PIO口。      Bits set to 1 in this value will result in that PIO line being driven high.      该位置1.对应的PIO口,输出拉高      Bits set to 0 in this value will result in that PIO line being driven low.      该位置0.对应的PIO口,输出拉低

Returns
A 32 bit mask. (32位个标志位)
If any bit in this mask is high then that PIO could not be driven to the level specified;
如果该标志位置1,则对应的PIO,不能输出指定的内容—因为这个值将被可修改
note that no action will have been taken on any PIOs.
注意没有任何动作,在IO口上体现
Note that the upper 16 PIOs must be mapped in before they can be used.
注意:这16PIO口,使用前必须映射过相应的IO口
See the PioSetMapPins32() documentation for information on valid PIO directions and PIO mapping.
看看函数PioSetMapPins32()函数说明文档,里面有说明有效的PIO方向和PIO映射
BlueCore has internal resistors which can be configured to either pull-up or pull-down the pins used for input.
蓝牙芯片内部上拉电阻还是下拉电阻都是用于输入
This is controlled by the value written to the output register using PioSet32().
如果要写值用于输出请使用 PioSet32()函数。
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.
下面例子设置 PIN脚1和PIN脚2设定为输入 IN脚1设定为上拉 IN脚2设定为下拉

PioSet32(2|4, 2); //IO2和PIO4,,输出高
PioSetDir32(2|4, 0);//PIO2和PIO4,作为输入

/***********************/

uint32 PioGetDir32 ( void )

Read whether PIOs are set as inputs or outputs.
读取PIO口设定我输入还是输出

Returns
Each bit in the return value corresponds to a PIO line.
每一个位返回值对于PIO的每一个位
Bits set to 1 mean that PIO line is configured as an output.
位值配置为1的意思是对映的的PIO是作为输出
Bits set to 0 mean it is configured as an input.
位值配置为0的意思是对映的的PIO是作为输入

/**************************/

uint32 PioSetDir32 ( uint32 mask, uint32 dir )

Set PIOs as inputs or outputs.
设定PIO口为输入还是输出

Parameters
mask Each bit in the mask corresponds to a PIO line.
每个标志位,PIO对应一个位
Bits set to 1 in this mask will be modified.
需修改数据,该标志位置1,
Bits set to 0 in this mask will not be modified.
不许需修改数据,该标志位置0,
dir Each bit in the “dir” value corresponds to a PIO line.
每个位的值都有对应PIO口。
Bits set to 1 in this value will result in that PIO line being configured as an output.
该位置1.对应的PIO口,配置为输出
Bits set to 0 in this value will result in that PIO line being configured as an input.
该位置0.对应的PIO口,配置为输入
Returns
A 32 bit mask.
If any bit in this mask is high then that PIO could not be set to the direction specified;
如果该标志位置1,则对应的PIO,不能输出指定的内容—因为这个值将被可修改
note that no action will have been taken on any PIOs.
注意没有任何动作,在IO口上体现
Note that the upper 16 PIOs must be mapped in before they can be used.
注意:这16PIO口,使用前必须映射过相应的IO口
See the PioSetMapPins32() documentation for information on valid PIO directions and PIO mapping.
看看函数PioSetMapPins32()函数说明文档,里面有说明有效的PIO方向和PIO映射

/*******************************************/

uint32 PioGetStrongBias32 ( void )

Read whether PIOs are set to use strong or weak pull.
查看PIO口是强上拉还是弱上拉

/*******************************************/

/*******************************************/

uint32 PioSetStrongBias32 ( uint32 mask, uint32 bits )

Set PIOs to use strong or weak pull when used as inputs.
设置PIO口在作为出入的时候,是作为强上拉还是弱上拉
arameters
mask Each bit in the mask corresponds to a PIO line.
Bits set to 1 in this mask will be modified.
Bits set to 0 in this mask will not be modified.

      bits      Each bit in the "bits" value corresponds to a PIO line.                 Bits set to 1 in this value will result in that PIO line being configured as having strong bias.                强上拉                Bits set to 0 in this value will result in that PIO line being configured as not having strong bias.                弱上拉

Returns

                 A 32 bit mask.                 If any bit in this mask is high then that PIO could not be set to use strong bias;                note that no action will have been taken on any PIOs.                BlueCore includes weak internal pull-ups or pull-downs on pins which are being used as inputs (see PioSet32()).                 蓝牙芯片PIO脚位作为输入时候选择有弱上拉还是弱下拉可以直接通过see PioSet32()函数操作。                This function allows the pull-up or pull-down to be made stronger on a per-pin basis.                这个功能允许在脚位上升为为强上拉还是强下拉。

So to set pin 4 and 5 as inputs, 4 pulled up weakly, 5 pulled down strongly

PioSetDir32((1<<4)|(1<<5), 0);// 设定蓝牙芯片PIO4和PIO5为输入脚
PioSet32((1<<4)|(1<<5), (1<<4));//POI4,内部弱上拉
PioSetStrongBias32((1<<4)|(1<<5), (1<<5));//POI4,内部强上拉

/****************************************************/

uint32 PioGetMapPins32 ( void )

Returns a 32 bit value showing which PIO lines have been mapped to chip pins
返回一个32位值,映射相关芯片的脚位
(see documentation for PioSetMapPins32() for more detail).
详情可以参考PioSetMapPins32()函数

/******************************************************/

uint32 PioSetMapPins32 ( uint32 mask, uint32 bits )

Cause the usual function of chip pins to be suppressed, and instead make them behave as PIOs.
当芯片的引脚作为其他功能的时候,就不能作为普通发PIO口使用

Parameters(特征)
mask Each bit in the mask corresponds to a PIO line. (每个标志位映射已PIO口)
Bits set to 1 in this mask will be modified.
Bits set to 0 in this mask will not be modified.

        bits    Each bit corresponds to a PIO line.                 A bit set to 1 will cause a (non-PIO) chip pin to be behave as the corresponding PIO.                如果该引脚为1,这映射的芯片引脚不能作为PIO口。                                   A bit set to 0 will result in any mapped pin being returned to its original function.                如果该引脚为0,这映射的芯片引脚用于他原始的功能函数。

Returns
A 32 bit mask.
If any bit in this mask is high then that PIO could not be mapped or unmapped;
如果A映射的较为H,那么PIO无法映射原来初始化的功能。
note that no action will have been taken on any PIOs.
注意没有任何动作,在IO口上体现

or BC5-MM the PIO lines map to other pins as follows:
BC5映射功能如下。

(PIO 0..15) have no mapping. They are always PIO 0..15.
没有复用功能
They can be configured as inputs or outputs.
可以配置PIO的作为输出与输入功能

(PIO 16) maps to PCM_DATA. This can be configured as an input or an output.
PCM_DATA功能,可以配置PIO的作为输出与输入功能

(PIO 17) maps to PCM_SYNC. This can be configured as an input or an output.
PCM_SYNC功能,可以配置PIO的作为输出与输入功能

(PIO 18) maps to UART_DATA_OUT. This can be configured as an input or an output.
UART_DATA_OUT功能,可以配置PIO的作为输出与输入功能

(PIO 19) maps to PCM_CLK_OUT. Set this to output to the PCM_CLK pin. This line is output only.
PCM_CLK_OUT功能,只能作为PCM_CLK pin输出
Note that the PCM_CLK pin direction shadows PCM_SYNC direction and ignores directions set via PioSetDir32().
PCM_CLK pin 方向 shadows PCM_SYNC 方向 and 无方向 set via PioSetDir32()

(PIO 20) maps to AIO0. Mapping this PIO will overwrite the value set in PSKEY_AMUX_AIO0.
模拟输入 , 映射这个PIO口的值,在 PSKEY_AMUX_AIO0 设定。
Unmapping this PIO will restore the value set in PSKEY_AMUX_AIO0.
不映射这个PIO口将复位值,在 PSKEY_AMUX_AIO0 设定。
Note that on BC5-MM configuring AIO lines as PIO lines is not recommended due to the low voltage level.
BC5芯片的把模拟口配置为PIO口不推荐的使用地电平

(PIO 21) maps to AIO1. Mapping this PIO will overwrite the value set in PSKEY_AMUX_AIO1.
映射这个PIO口的值,在 PSKEY_AMUX_AIO1 设定。
Unmapping this PIO will restore the value set in PSKEY_AMUX_AIO1.
不映射这个PIO口将复位值,在 PSKEY_AMUX_AIO1 设定
Note that on BC5-MM configuring AIO lines as PIO lines is not recommended due to their low voltage level.
BC5芯片的把模拟口配置为PIO口不推荐的使用地电平

     PIO lines above 21 map to nothing and cannot be mapped or written.

For CSR8670 the PIO lines map to other pins as follows:

(PIO 0..12) have no mapping. 没有复用功能

        They are always PIO 0..12.         They can be configured as inputs or outputs.// 可以配置PIO的作为输出与输入功能        The smaller packages such as Chip Scale Package (CSP) does not have PIO8..12.        小封装的没有PIO8-12脚位

(PIO 13..15) may be mapped if required.
如果需要可以映射
The exact signal routing is dependent on which package is being used.
正确的使用信号,取决你使用哪一个封装
On smaller packages, such as CSP, you must map PIO13-15
在小封装上,芯片级封装,你必须使用PIO13-15
if you want PIO instead of UART UART_RX, UART_TX and UART_CTS.
如果你想使用PIO口去代替UART UART_RX, UART_TX and UART_CTS,
On the BGA package PIO13..15 have their own pins, but if mapped,
在BGA封装的芯片上,PIO13-15,有可以直接使用脚位,但是你要启用映射功能
will be connected to the UART_RX, UART_TX and UART_CTS pins as well.
将要链接到UART_RX, UART_TX and UART_CTS 正确的脚位
Whether mapped or not, these PIO pins may be configured as inputs or outputs.
至于是否映射,这些PIO到底是配置输入口还是输出口
For each pin, if mapped and set as output, both (UART and PIO) pins are driven.
每一个脚位,如果映射为输出,将可以同时(使用UART and PIO)的功能。
If mapped and set as input, the UART pin is connected and the PIO pin is n/c.
如果映射为输入,使用UART功能已经连接,那么该IO口只能NC

(PIO 16) maps to the UART_RTS pin. This can be configured as an input or an output.
UART_RTS功能,可以配置PIO的作为输出与输入功能
(PIO 17) maps to the PCM_IN pin. This can be configured as an input or an output.
(PIO 18) maps to the PCM_OUT pin. This can be configured as an input or an output.
(PIO 19) maps to the PCM_SYNC pin. This can be configured as an input or an output.
(PIO 20) maps to the PCM_CLK pin. This can be configured as an input or an output.
(PIO 21) maps to the SQIF Flash Clock pin. This can be configured as an input or an output.
(PIO 22) maps to the SQIF RAM Clock pin. This can be configured as an input or an output.
(PIO 23) maps to the SQIF Flash CS pin. This can be configured as an input or an output.
(PIO 24) maps to the SQIF RAM CS pin. This can be configured as an input or an output.
(PIO 25) maps to the SQIF DB0 pin. This can be configured as an input or an output.
(PIO 26) maps to the SQIF DB1 pin. This can be configured as an input or an output.
(PIO 27) maps to the SQIF DB2 pin. This can be configured as an input or an output.
(PIO 28) maps to the SQIF DB3 pin. This can be configured as an input or an output.

PIO lines above 28 map to nothing and cannot be mapped or written.

/***************************************************************/

bool PioSetRts ( bool level)

Controls the settings of the RTS line.//控制RTS线

Parameters
level Set (TRUE) or Clear (FALSE).
Returns
TRUE on success, and FALSE if the operation could not be performed.

When the host transport is set to none,so that the UART is not being used,
当主机传输设置NONE时。UART不会给占用
the application has full control of the RTS line.
应用程序完全空时RTS线
When the user transport is in use,
当传输在使用的时候,
this function can be used to assert flow control
这个功能可以用于断言流 控制
when the firmware would not automatically do so.
软件固件不会自动执行

However, the firmware may also force RTS low to assert incoming flow control
然而,这个软件也也可以把RTS强行拉低 断言 控制传入数据流控制,
even if PioSetRts(TRUE) has been called.
既然函数PioSetRts(TRUE)已经通讯过
With other transports (including USB),
与其通讯的(包括USB)
it is not possible to control the RTS line,and FALSE will be returned.
他不能控制RTS线,失败将返回

/***************************************************************************/

bool PioGetCts (void )

Lets the VM check the status of the Clear To Send UART pin.
让VM检查清除发送UART引脚的状态。

Returns
TRUE if host transport is set to none and CTS input signal within the UART is set to active
返回值为真,主机设置为none,在UART内设置CTS输入信号为活动,
, else returns FALSE.
否则为假

/**********************************************************************************/
uint32 PioGetKalimbaControl32 ( void )

Find out which pins are under kalimba control.
找出哪些脚位在kalimba 的控制之下。
Note: Only some BlueCore variants have access to more than 16 PIO lines.
只有几款蓝牙芯片可以通过变量来访问16线PIO

/***********************************************************************************/

uint32 PioSetKalimbaControl32 ( uint32 mask,uint32 value )

Modify which pins are under control of the Kalimba DSP.

在Kalimba DSP下修改Pin脚。

Parameters
mask The bit mask to use.

        value   The pins to set.        Aspects the DSP has control over include the direction (input or output) of a PIO,         在DSP方面控制PiO(输入或者输出)        and the level driven when used as an output.        电平驱动作为输出

Returns
A 32 bit mask. If any bit in that mask is high then control of
任何位都是H,然后控制PIO口,PIO口不能,这个轨道失败
that PIO could not be given to Kalimba and the trap call failed.

Note: Only some BlueCore variants have access to more than 16 PIO lines.

/**********************************************************************************/

bool PioSetFunction ( uint16 pin, pin_function_id function )

Sets a supported function for particular pio pin.
设定Pin脚特别的功能

Parameters
pin - pin that requires a function change the pin value ranges from (0..15) or (0..31) depending upon the package
通过功能函数改变Pin脚的值的范围(0-15)OR(0-31)
function - Supported function that needs to be set for the specified pin. Refer pin_function_id
支持功能 需要设定 特别的脚

Returns
TRUE if successful, else FALSE.

if a pin can be mapped as UART_TX/UART_RX/PCM_IN etc,
如果Pin脚映射一个脚位
then this function can be used to set the pin for one of the supported functions.
这个可以函数来来设定这个PIN脚
Consult the device’s data sheet to understand what functions are supported for each PIO pins.
查阅这个驱动的数据表了解每个PIO引脚功能支持。

A pin can support only few functions.
一个引脚支持很少功能
Trying to set a function which is NOT supported by the pin
设定功能如果该引脚不支持

will return FALSE without affecting/modifying the existing pin function.
将返回值是假,不影响现有的PIN脚功能

If a pin supports only two functions i.e., PIO/UART_RX then PioSetMapPins32() is sufficient to map the pin as UART_RX/PIO.
假如一个Pin脚支持两个功能。IO/UART_RX,然后通过PioSetMapPins32() 函数去映射pin脚的功能作为UART_RX/PIO.

See the PioSetMapPins32() documentation for more information.
可以看PioSetMapPins32()的文档了解更多的信息

if a pin supports more than two functions and currently, it is mapped to a pio line,
假如当前的这个脚位支持两个以上的功能函数,它的映射脚位

then pin should be unmapped using PioSetMapPins32() and
然后这个PIn可以通过PioSetMapPins32()可以不映射和

then set the supported function for the corresponding pin by calling PioSetFunction().
然后设置支持函数通过调用相应的引脚piosetfunction()

PioSetFunction()

Usage Example:

           if PIO[3] can be mapped to UART_RX/PCM_IN/PIO and currently PIO[3] is mapped as PIO,               then VM App should call the PioSetMapPins32() to unmap it from                     VM来调用PioSetMapPins32()解除映射PIO脚              PIO and then call PioSetFunction() to map to (UART_RX/PCM_IN) function.                     然后在调用PioSetFunction()选择UART_RX/PCM_IN)功能              Unmap PIO[3] so that it can be mapped to a function PioSetMapPins32(1<<3, 0<<3);              This will map PIO[3] line as UART_RX PioSetFunction(3, UART_RX);              To map back the PIO[3] as a PIO, PioSetMapPins32() should be used. PioSetMapPins32(1<<3, 1<<3);                    

/*********************************************************/

uint32 PioGetUnusedPins32 (void )
Determine which physically existing PIOs are currently not in use by firmware or VM apps.
判断目前一些硬件PIO口是否和软件或则APP设置的一样

Returns
Those PIOs which are available for use.
(那些PIO口可以与软件匹配的一样)
b31 = PIO31 thru b0 = PIO0.
A ‘1’ indicates available.显示A为显示可用

/*************************************************************/
uint32 PioSetLcdPins ( uint32 mask, uint32 pins, uint16 common_pin )

Grabs PIOs for use by the LCD block.
使用 液晶显示
Parameters
mask These are the required LCD segments. b0-PIO0, b31=PIO31.
这是所需要的液晶屏幕的字段

        pins    These should be set to one.                设置为1     common_pin The PIO that will be connected to the LCD common.                PIO的LCD链接

Returns
zero if successful, otherwise bad bits returned and nothing done.
返回0为成功,非0否为失败

/*************************************************************/

原创粉丝点击