文章目录
前言
一、GPIO是什么?
二、新建项目操作步骤(后续文章不再新建项目)
三、点亮LED代码
四、编译调试
由于未带开发板,所有暂时未有实物展示效果,回头补上
总结
前言
大家好!大家点点关注,大家的关注才是我持续更新的动力!
ls1x-drv:开发板设备的通用驱动,包含 LS1B 所有控制器
core:启动文件和 LS1B 的管脚定义
libc:库文件
include:头文件
以上是对文件夹的简要说明,方便学习!
随着龙芯1B嵌入式芯片的发展,学习之前一定要先看各类文件!
龙芯 1B 芯片是基于 GS232 处理器核的片上系统,具有高性价比,可广泛应用于工业控 制、家庭网关、信息家电、医疗器械和安全应用等领域。
1B 采用 Wire Bond BGA256 封装。
1B 芯片具有以下关键特性:
• 集成一个 GS232 双发射龙芯处理器核,指令和数据 L1 Cache 各 8KB
• 集成一路 LCD 控制器,最大分辨率可支持到 1920*1080@60Hz/16bit
• 集成 2 个 10M/100M 自适应 GMAC
• 集成 1 个 16/32 位 133MHz DDR2 控制器
• 集成 1 个 USB 2.0 接口,兼容 EHCI 和 OHCI
• 集成 1 个 8 位 NAND FLASH 控制器,最大支持 32GB
• 集成中断控制器,支持灵活的中断设置
• 集成 2 个 SPI 控制器,支持系统启动
• 集成 AC97 控制器 • 集成 1 个全功能串口、1 个四线串口和 10 个两线串口
• 集成 3 路 I2C 控制器,兼容 SMBUS • 集成 2 个 CAN 总线控制器
• 集成 61 个 GPIO 端口
• 集成 1 个 RTC 接口
• 集成 4 个 PWM 控制器
• 集成看门狗电路
龙芯1B处理器手册下载链接
各类说明都有!!!
此文不讲述寄存器方式代码!!!
一、GPIO是什么?
LS1B0200 具有 61 位 GPIO,支持位操作。
当 GPIO 作为输入时,高电平电压范围是 3.3V-5V, 低电平是 0V;
当 GPIO 作为输出时,高电平是 3.3V,低电平是 0V;
GPIO 对应的所有 PAD 都 是推拉方式。
GPIO 引脚编号:GPIO00~GPIO61,但是没有 GPIO31,共计 61 个引脚。
GPIO寄存器方式以及复用方式在群内文档中有介绍,在此不再赘述。
二、新建项目操作步骤(后续文章不再新建项目)
LED内部电路图:
新建项目:
第一步:
第二步:
第三步:
第四步:
第五步:
新建项目完成:
三、点亮LED代码
#include <stdio.h>
#include "ls1b.h"
#include "mips.h"
//-------------------------------------------------------------------------------------------------
// BSP
//-------------------------------------------------------------------------------------------------
#include "bsp.h"
#include "ls1b_gpio.h"
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
#define LED1 44
#define LED2 45
#define LED3 46
#define ON 0
#define OFF 1
//LED初始化
void LED_IO(void)
{
//设置GPIO为输出状态
gpio_enable(LED3,DIR_OUT);
gpio_enable(LED2,DIR_OUT);
gpio_enable(LED1,DIR_OUT);
gpio_write(LED3,OFF);
gpio_write(LED2,OFF);
gpio_write(LED1,OFF);
}
//LED测试函数
void LED_Test(void)
{
gpio_write(LED1,ON);
delay_ms(100);
gpio_write(LED1,OFF);
gpio_write(LED2,ON);
delay_ms(100);
gpio_write(LED2,OFF);
gpio_write(LED3,ON);
delay_ms(100);
gpio_write(LED3,OFF);
}
int main(void)
{
printk("\r\nmain() function.\r\n");
LED_IO();
for (;;)
{
LED_Test();
}
return 0;
}
编译完成,无问题。
四、编译调试
(1)点击图标进行编译,编译无误后,点击图标,将程序下载到内存之 中。注意:此时代码没有下载到 nand flash 之中,按下复位键后,程序会消失。
(2)改延时时间,调整 LED 闪烁速度。
(3)修改程序,控制其它 3 个 LED 闪烁。
由于未带开发板,所有暂时未有实物展示效果,回头补上
总结
要理解GPIO的工作方式以及库函数的编写方式。龙芯写代码让我感觉特别像STM32CubeMX的方式,其实就是感觉初始化起来很简单,用起来很方便,只有推拉方式。文章来源:https://www.toymoban.com/news/detail-792349.html
联系我们
公众号 嵌入式up 如果文章对您有帮助,请打赏一元呗,感谢支持,分享不易,码字不易。希望对大家帮助!文章来源地址https://www.toymoban.com/news/detail-792349.html
不怕万人阻挡,只怕自己投降。
到了这里,关于龙芯1B:点亮第一个led灯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!