KDocs 研发资料库
  • 手表穿戴技术应用文档入口汇总
  • JL707N穿戴客述问题FAQ
  • 彩屏仓 硬件开发指南 与 量产作业流程规范
  • 彩屏仓 AC98N和JL701烧录升级注意事项
  • JL707 硬件开发资料
  • JL707 手表硬件设计注意事项 总结
  • 穿戴生产烧录OTA和key文件添加使用说明
  • JL707N-入门到进阶开发指导文档
  • 彩屏仓982相关
  • 彩屏仓耳机介绍
  • 杰理701_707双屏demo介绍
  • 707电子吧唧开发资料
  • GPIO相关
  • UART串口相关
  • SPI相关
  • nandflash相关
  • norflash相关
  • IIC相关
  • PWM相关
  • SD卡相关
  • 定时器TIMER
  • 文件系统接口设计说明文档
  • 音视频录像开发流程
  • rdec编码器
  • 穿戴功耗数据标准
  • 手表蓝牙开发文档
  • 701蓝牙PAN联网demo
  • BLE开发使用说明
  • 701手表2.0.0版本SDK EQ在线调试和离线调试方法 V1.1
  • JL707 手表喇叭输出声音大小评估方法 V1.0
  • JL707 手表音频EQ调试方法 V1.0
  • AC707N 手表通话写卡 软件配置方法
  • 录音功能
  • 701手表2.X.X系列SDK调试EQ配置方法及音频调试技巧V1.1
  • 701手表104版本SDK EQ在线调试和离线调试方法 V1.1
  • mic2dac示例
  • P11 SensorHub相关
  • 手表升级操作文档
  • AC707NGPU
  • DBI模块介绍
  • GPU模块介绍
  • 701N屏幕驱动配置说明
  • 701N_UI编辑工具用户手册
  • 支付宝资料
  • 支付宝硬件接入资料
  • 支付宝乘车码接入资料
  • CAT1 接入文档
  • 701N_WATCH_CAT1开发说明
  • Findmy功能
  • music模式相关
  • 707电池曲线
  • 707N内置FLASH挂载FAT文件系统251112_v1.2
  • AC707N_本地视频播放demo(AVI-MJPEG-PCM)
  • 光波导屏幕调试
  • 耳机研发和生产流程 指南
  • 707-NandFlash 代码和UI资源独立烧录方案
  • 彩屏仓时间同步补丁
  • 彩屏仓抖音点赞移植
  • 707LVGLv8双屏开发
  • 707N蓝牙互传图传demo
  • AVIPCM数据流接入AIVOICE
  • Flash分区操作demo
  • 手表发射问题
  • 701_707 双备份升级DEMO
  • 707_乘车码刷码失败问题_共性

GPIO相关

📎 原始文档:https://www.kdocs.cn/l/cgJBqCDumZaJ GPIO相关

  1. GPIO定义 GPIO(general porpose intput output):通用输入输出端口的简称。通俗来说就是芯片上的常用引脚,可以通过软件进行控制引脚的高低电平或者读取外部输入的电平。

二、GPIO 的工作模式

1. 输入模式

输入模式可以配置为模拟、上拉、下拉以及浮空模式。
2. 输出模式 输出模式既是IO 配置为输出,可以伴随有上拉、下拉、浮空等输出。

三、GPIO的接口函数说明

  1. AC695N系列 和JL701N接口:
gpio_set_direction() //设置IO的方向,第二个参数:1输入,0输出
gpio_set_pull_up() //设置上拉电阻的使能,第二个参数:1开启,0关闭
gpio_set_pull_down()// 设置下拉电阻的使能,第二个参数:1开启,0关闭
gpio_set_output_value() //设置输出电压水平,第二个参数:1高,0低
gpio_set_die(), gpio_set_dieh()// 设置IO的状态,第二个参数:1数字态,0模拟态
gpio_set_hd0(), gpio_set_hd() //设置IO的能力,第二个参数:1强输出,0普通输出
gpio_read() //输入数字态下读取电压水平,返回值:1是高,0是低

2、JL707N系列接口:

707N系列的每个GPIO的上拉和下拉都报三种阻值可以配置,分别是上拉10K/100K/1M的阻值;下拉10K/100K/1M的阻值;在软件使用的时候注意配置即可。

int gpio_init(enum gpio_port port, const struct gpio_config *config);//配置同组多个io模式及强驱. 形参详见枚举; pin:PORT_PIN_0 or PORT_PIN_0 | PORT_PIN_2等
int gpio_deinit(enum gpio_port port, u32 pin);//恢复同组多个io为高阻态. 形参详见枚举; pin:PORT_PIN_0 or PORT_PIN_0 | PORT_PIN_2等
int gpio_set_mode(enum gpio_port port, u32 pin, enum gpio_mode mode);//配置同组多个io模式. 形参详见枚举; pin:PORT_PIN_0 or PORT_PIN_0 | PORT_PIN_2等
int gpio_read(u32 gpio);// 读取单个io输入值. gpio:IO_PORTA_00

四、GPIO输入输出DEMO

  1. AC695N和JL701N

GPIO输出高:

gpio_set_pull_up(IO_PORTA_04, 0); 
gpio_set_pull_down(IO_PORTA_04, 0); 
gpio_set_direction(IO_PORTA_04, 0); 
gpio_set_output_value(IO_PORTA_04,1); 

GPIO输出低:

gpio_set_pull_up(IO_PORTA_04, 0); 
gpio_set_pull_down(IO_PORTA_04, 0); 
gpio_set_direction(IO_PORTA_04, 0); 
gpio_set_output_value(IO_PORTA_04,0); 

GPIO强驱输出高:

/* ************* 强驱输出 一档 ******************* */
gpio_set_pull_up(IO_PORTA_04, 0); 
gpio_set_pull_down(IO_PORTA_04, 0); 
gpio_set_direction(IO_PORTA_04, 0); 
gpio_set_hd0(IO_PORTA_04,1);///强驱一档
gpio_set_output_value(IO_PORTA_04,1); 


/* ************* 强驱输出 二档 ******************* */
gpio_set_pull_up(IO_PORTA_04, 0); 
gpio_set_pull_down(IO_PORTA_04, 0); 
gpio_set_direction(IO_PORTA_04, 0); 
gpio_set_hd(IO_PORTA_04,1);///强驱二档
gpio_set_output_value(IO_PORTA_04,1); 


/* ************* 强驱输出 三档 ******************* */
gpio_set_pull_up(IO_PORTA_04, 0); 
gpio_set_pull_down(IO_PORTA_04, 0); 
gpio_set_direction(IO_PORTA_04, 0); 
gpio_set_hd0(IO_PORTA_04,1);
gpio_set_hd(IO_PORTA_04,1);
gpio_set_output_value(IO_PORTA_04,1); 

GPIO输入:

下拉输入:

/* ************* 下拉输入 ******************* */
gpio_direction_input(IO_PORTA_04);
gpio_set_pull_down(IO_PORTA_04, 1);
gpio_set_pull_up(IO_PORTA_04, 0);
gpio_set_die(IO_PORTA_04, 1);

上拉输入:

/* ************* 上拉输入 ******************* */
gpio_direction_input(IO_PORTA_04);
gpio_set_pull_down(IO_PORTA_04, 0);
gpio_set_pull_up(IO_PORTA_04, 1);
gpio_set_die(IO_PORTA_04, 1);

GPIO高阻态:

/* ************* 高阻态 ******************* */
gpio_set_die(IO_PORTA_04, 0);
gpio_set_dieh(IO_PORTA_04, 0);
gpio_set_pull_up(IO_PORTA_04, 0);
gpio_set_pull_down(IO_PORTA_04, 0);
gpio_set_direction(IO_PORTA_04, 1);

2、JL707N

GPIO输出高:

/* ************* 输出高 ******************* */
gpio_set_mode(PORTA, BIT(4), PORT_OUTPUT_HIGH);

gpio_set_mode(IO_PORT_SPILT(IO_PORTA_04), PORT_OUTPUT_HIGH);

GPIO强驱输出:


/* ************* 驱动能力输出2.4mA ******************* */
gpio_set_drive_strength(IO_PORT_SPILT(IO_PORTA_04), PORT_DRIVE_STRENGT_2p4mA);

/* ************* 驱动能力输出8mA ******************* */
gpio_set_drive_strength(IO_PORT_SPILT(IO_PORTA_04), PORT_DRIVE_STRENGT_8p0mA);

/* ************* 驱动能力输出24mA ******************* */
gpio_set_drive_strength(IO_PORT_SPILT(IO_PORTA_04), PORT_DRIVE_STRENGT_24p0mA);

/* ************* 驱动能力输出64mA ******************* */
gpio_set_drive_strength(IO_PORT_SPILT(IO_PORTA_04), PORT_DRIVE_STRENGT_64p0mA);

GPIO输出低:

/* ************* 输出低 ******************* */
gpio_set_mode(PORTA, BIT(4), PORT_OUTPUT_LOW);

gpio_set_mode(IO_PORT_SPILT(IO_PORTA_04), PORT_OUTPUT_LOW);

GPIO输入:

下拉输入:

/* ************* 下拉10K 输入******************* */
gpio_set_mode(IO_PORT_SPILT(IO_PORTA_04), PORT_INPUT_PULLDOWN_10K);

/* ************* 下拉100K 输入******************* */
gpio_set_mode(IO_PORT_SPILT(IO_PORTA_04), PORT_INPUT_PULLDOWN_100K);

/* ************* 下拉1M 输入******************* */
gpio_set_mode(IO_PORT_SPILT(IO_PORTA_04), PORT_INPUT_PULLDOWN_1M);

上拉输入:

/* ************* 上拉10K 输入******************* */
gpio_set_mode(IO_PORT_SPILT(IO_PORTA_04), PORT_INPUT_PULLUP_10K);

/* ************* 上拉100K 输入******************* */
gpio_set_mode(IO_PORT_SPILT(IO_PORTA_04), PORT_INPUT_PULLUP_100K);

/* ************* 上拉1M 输入******************* */
gpio_set_mode(IO_PORT_SPILT(IO_PORTA_04), PORT_INPUT_PULLUP_1M);

GPIO高阻态:

/* ************* 高阻态 ******************* */
gpio_set_mode(PORTA, BIT(4), PORT_HIGHZ);
gpio_set_mode(IO_PORT_SPILT(IO_PORTA_04), PORT_HIGHZ);
Prev
707电子吧唧开发资料
Next
UART串口相关