开发板原理图
一,LEDGPIO2)
二,继电器GPIO5)
NONOS2.2.0)
NONOS2.2.0)
NONOS2.2.0)
1.设置GPIO输出高低电平
设置GPIO2输出高电平
GPIO_OUTPUT_SET2, 1);
设置GPIO2输出低电平
GPIO_OUTPUT_SET2, 0);
不过正常流程是先设置这个引脚的功能
PIN_FUNC_SELECTIO口的寄存器地址 , 功能)
举例1:配置 GPIO2作为普通IO
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);
举例2:配置 GPIO2作为串口功能
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO2_U , FUNC_UART1_TXD_BK );
说一下: FUNC_UART1_TXD_BK 这个我具体也不知道是什么意思,只知道可能是作为串口1的TX输出
举例3:配置 GPIO5作为普通IO功能
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5 );
注: 这一个是默认的功能
注:在配置完PIN_FUNC_SELECT 以后,当前引脚为高阻态,既不是高电平也不是低电平.
测试GPIO2输出高电平点亮LED)
#include “gpio.h”
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);
GPIO_OUTPUT_SET2, 1);//设置GPIO2输出高电平
测试GPIO2输出低电平,GPIO5输出高电平控制继电器吸合)
#include “gpio.h”
GPIO_OUTPUT_SET2, 0);//设置GPIO2输出低电平
GPIO_OUTPUT_SET5, 1);//设置GPIO5输出高电平
如果控制有SPI功能的引脚,需要写上一句话,否则不能控制
WRITE_PERI_REGPERIPHS_IO_MUX, 0x105);
RTOS2.2.0)
RTOS2.2.0)
RTOS2.2.0)
官方提供了两个函数
GPIO_OUTPUT_SETgpio_no, bit_value)
设置GPIO2输出高电平
GPIO_OUTPUT_SET2, 1);
设置GPIO2输出低电平
GPIO_OUTPUT_SET2, 0);
GPIO_OUTPUTgpio_bits, bit_value)
官方提供的一次性设置多个引脚函数
设置GPIO2和GPIO5输出高电平
GPIO_OUTPUTBIT2 | BIT5, 1);
设置GPIO2和GPIO5输出低电平
GPIO_OUTPUTBIT2 | BIT5, 0);
不过正常流程是先设置这个引脚的功能
PIN_FUNC_SELECTIO口的寄存器地址 , 功能)
举例1:配置 GPIO2作为普通IO
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);
举例2:配置 GPIO2作为串口功能
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO2_U , FUNC_UART1_TXD_BK );
说一下: FUNC_UART1_TXD_BK 这个我具体也不知道是什么意思,只知道可能是作为串口1的TX输出
举例3:配置 GPIO5作为普通IO功能
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5 );
注: 这一个是默认的功能
注:在配置完PIN_FUNC_SELECT 以后,当前引脚为高阻态,既不是高电平也不是低电平.
测试GPIO2输出高电平点亮LED)
#include “gpio.h”
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);
GPIO_OUTPUT_SET2, 1);//设置GPIO2输出高电平
测试GPIO2输出低电平,GPIO5输出高电平控制继电器吸合)
#include “gpio.h”
GPIO_OUTPUT_SET2, 0);//设置GPIO2输出低电平
GPIO_OUTPUT_SET5, 1);//设置GPIO5输出高电平
测试GPIO2输出低电平,GPIO5输出低电平)
#include “gpio.h”
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);
PIN_FUNC_SELECTPERIPHS_IO_MUX_GPIO5_U , FUNC_GPIO5);
GPIO_OUTPUTBIT2 | BIT5, 0);//设置GPIO2和GPIO5输出低电平