[评测分享]
【米尔-全志T113-S3入门级开发板 测评】外设的基本使用
#板卡评测
 
1409 人阅读
|
0 人回复
|
2023-11-11 
 
 
 
 
| 
 | 
 
 
  嵌入式Linux必不可少的一部分内容就是还要接触硬件底层,T113开发板包含了比较丰富的外设,所以就来测试一下外设的使用,也是夯实基础操作的过程。结合资料内容主要做GPIO测试,input事件读取,也就是读轻触按键。 
  板子上的LED共有3颗且颜色不一。已蓝色LED为例,在命令行窗口是可以直接用shell命令进行操作。 
  比如关闭心跳功能 
- echo none > /sys/class/leds/led-blue/trigger
 
  复制代码  熄灭LED操作,至于为什么写1是熄灭,这跟硬件设计有关。- echo 1 > /sys/class/leds/led-blue/brightness
 
  复制代码 点亮LED操作 
- echo 0 > /sys/class/leds/led-blue/brightness
 
 
  复制代码  恢复心跳功能 
-  echo heartbeat > /sys/class/leds/led-blue/trigger
 
  复制代码 以上命令均测试无误。 
 
  
 但我们一般都是在程序里去操作GPIO,所有还是以代码方式去实现。在之前配置好的CodeBlocks里去编写和编译。 
 
 然后在板子上去运行以上代码的可执行文件,就可以关闭心跳功能了。其他点亮熄灭操作类似。 
 接下来测试下按键。Linux 的/dev/input/eventx 设备可以用来方便地调试鼠标、键盘、触摸板等输入设备。所以写程序就是读取input。但首先要知道这个按键对应的输入事件,通过shell命令很容易获取到。 
 
 
 得到这个结果,那么程序就可以编写了 
 
 
 以上程序运行后进入阻塞态,按键按下打印字符串Pressed,抬起后打印字符串Released。到这里其实没多大用处,实际应用多伴随着其他的操作,比如开关LED,因此结合前面的测试,做以下代码 
 
 
- int main()
 
 - {
 
  
-     int fd = open("/sys/class/leds/led-blue/trigger",O_RDWR);
 
 -     if(fd > 0)
 
 -     {
 
 -         write(fd,"none",4);
 
 -         printf("heartbeat stop\r\n");
 
 -     }
 
  
-     int led = open("/sys/class/leds/led-blue/brightness",O_RDWR);
 
  
-     int keys_fd;
 
 -         char ret[2];
 
 -         struct input_event t;
 
 -         keys_fd=open("/dev/input/event5", O_RDONLY);
 
 -         if(keys_fd <= 0)
 
 -         {
 
 -                 printf("open /dev/input/event5 device error!\n");
 
 -                 return -1;
 
 -         }
 
 -         while(1)
 
 -         {
 
 -                 if(read(keys_fd, &t, sizeof(t)) == sizeof(t))
 
 -                 {
 
 -                         if(t.type==EV_KEY)
 
 -                                 if(t.value==0 )
 
 -                                 {
 
 -                     write(led,"1",1);
 
 -                                 }else{
 
 -                     write(led,"0",1);
 
 -                                 }
 
 -                 }
 
 -         }
 
 -         close(keys_fd);
 
 -         return 0;
 
  
- }
 
  复制代码   按下按键,LED就会亮起,松开按键则熄灭。这就是一个输入输出的简单应用。也就是基础操作需要掌握的。  
 
 
 |   
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 |