GPIO 和看门狗使用例子说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GPIO和看门狗使用例子说明
1. 概述:
验证和使用,GPIO和看门狗API例子程序。
SOM2386/2388, 4(GPIO)+3(GPIO或中断线可选)路双向可编程数字I/O。
l 4位双向口(PIO0,PIO1,PIO10,PIO11)
l 3位可选双向口(IRQ2/PIO12, IRQ3/PIO13, IRQ6/PIO31)
PCM3386/3388 ,提供4(GPIO) 和14路(5V电平)单向数字I/O通道。
l 4位双向口(PIO0,PIO1,PIO10,PIO11)
l 8位单向输入I/O,(GP10,GP11,GP12,GP13,GP14,GP15,GP16,GP17)
IO地址=0x200H
l 8位单向输出I/O (GP20,GP21,GP22,GP23,GP24,GP25)
IO地址=0x208H(bit5 ̄bit0)
2. 环境:
l 虚拟显示环境(参见搭建虚拟显示环境相关文档)
3. 演示方法和效果:
l PC下载方式
l 使用BC45,打开C:\lanry\example\gpio\GPIODEMO.IDE工程。
l 编译下载到目标板上(参见演示录象)。
l 单步,验证相应的代码。
4. API函数说明
#define PIO0 0 /*4位gpio*/
#define PIO1 1 /*4位gpio*/
#define PIO10 10 /*4位gpio*/
#define PIO11 11 /*4位gpio*/
#define PIO12 12 /*3位中断或gpio可选*/
#define PIO13 13 /*3位中断或gpio可选*/
#define PIO31 31 /*3位中断或gpio可选*/
char PIORead(int PIO_BIT_INDEX ) ;
功能: 片上通用IO读函数: PIORead
入口参数:int PIO_BIT_INDEX cpu 上双向IO索引号
返回值: char =0,表示输入为低电平,=1表示输入高电平,=3,表示失败,方向设置有错
注意: 函数功能,只有在相应的位方向设置为输入时,才是有效的
som2386/2388 中PIO_BIT_INDEX,可选值集(PIO0 , PIO1, PIO10, PIO11,
PIO12, PIO13, PIO31)。
PCM3386/3388中PIO_BIT_INDEX,可选值集(PIO0 , PIO1, PIO10, PIO11 )。char PIOWrite(int PIO_BIT_INDEX, char Val ) ;
功能: 片上通用IO写函数: PIOWrite
入口参数:int PIO_BIT_INDEX cpu 上双向IO索引号
char Val=0,表示输出低电平,非零表示输出高电平
返回值: char =0,表示成功,非零表示失败,方向设置有错
注意: 函数功能,只有在相应的位方向设置为输出时,才是有效的
som2386/2388 中PIO_BIT_INDEX,可选值集(PIO0 , PIO1, PIO10, PIO11,
PIO12, PIO13, PIO31)。
PCM3386/3388中PIO_BIT_INDEX,可选值集(PIO0 , PIO1, PIO10, PIO11 )。
char PIODirCfg(int PIO_BIT_INDEX, char Dir ) ;
功能: 片上通用IO方向配制函数: PIODirCfg
入口参数:int PIO_BIT_INDEX cpu 上双向IO索引号
char Dir =0,表示输入,=1表示输出,=2表示正常功能
返回值: char =0,表示成功,非零表示失败
注意: 函数功能是改变GPIO方向
som2386/2388 中PIO_BIT_INDEX,可选值集(PIO0 , PIO1, PIO10, PIO11,
PIO12, PIO13, PIO31)。
PCM3386/3388中PIO_BIT_INDEX,可选值集(PIO0 , PIO1, PIO10, PIO11 )。
在som2386/2388中,对于PIO12, PIO13, PIO31中断与GPIO复用引脚,如需恢
复正常功能。Dir =2,PIO_BIT_INDEX取相应的引脚索引。
unsigned char EXTGP1Read(void) ;
功能: 单向IO读函数: EXTGPIORead
扩展IO输入,对应信号线GP17,GP16,GP15,GP14,GP13,GP12,GP11,GP10
入口参数:
返回值: char 相应数据位等于0,表示输入为低电平,=1表示输入高电平
注意: 在PCM3386/3388中存在
void EXTGP2WRITE(unsigned char Val);
功能:单向IO写函数: EXTGP2WRITE
扩展IO输出,对应信号线GP25,GP24,GP23,GP22,GP21,GP20的数据位BIT5.....BIT0
入口参数:
返回值: VOID
注意: 在PCM3386/3388中存在
void EnableWDT(void);
功能:使能看门狗: EnableWDT
入口参数:
返回值: VOID
void DisableWDT(void);
功能:禁止看门狗: DisableWDT
入口参数:
返回值: VOID