简介
先来说下,这里为什么既涉及龙芯1c库,又涉及RT-Thread。中断相关函数是RT-Thread已经封装好的,比如设置中断处理函数,中断使能;但GPIO相关的函数却是使用龙芯1c库中的,比如GPIO初始化,将GPIO设为输入模式,设置GPIO中断类型(下降沿中断)等。
龙芯1c库和RT-Thread分别是什么
龙芯1c库的git是 http://git.oschina.net/caogos/OpenLoongsonLib1c
RT-Thread的git是 https://github.com/RT-Thread/rt-thread
龙芯1c库是为龙芯1c单片机封装的常用外设接口集合,类似于STM32库。不仅可以用于裸机编程,还可以和实时系统(比如RT-Thread等)配合使用。这里就是将龙芯1c库和RT-Thread配合使用,其中龙芯1c库中GPIO相关接口已经移植到RT-Thread,并且合并到RT-Thread官方源码中。
测试用的硬件
实物图
这里选择三个按键中的S3,所在GPIO为GPIO85/I2C_SDA0,led选择靠近RJ45的D2,所在GPIO为GPIO32,这个led在智龙的首发版、V2.0和V2.1中都有。