[评测分享]
【ELF 2学习板】11.GPIO系统测试(2)
#板卡评测
 
1264 人阅读
|
0 人回复
|
2025-01-23 
 
 
 
 
TA的每日心情  | 慵懒 2025-8-6 21:07 | 
|---|
 
  签到天数: 313 天 连续签到: 1 天 [LV.8]以坛为家I 
状元 
 
 
	- 积分
 - 5300
 
 
 
 
 | 
 
 
在前面的测评中,我们测试如何通过GPIO编号计算其编号,并通过Linux的文件系统操作GPIO,将其作为输出,然后控制衣蛾LED的亮灭。 
本次测评将通过使用C语言程序的方式控制LED灯的亮灭。 
 
完整的程序代码如下:
 
 
程序看着很长,其实主要功能很简单清晰: 
1. int gpio_init(int gpio_index, int initial_value)设置GPIO的状态为输出,并将给定的值作为初始值; 
2. int gpio_deinit(int gpio_index)回收GPIO资源; 
3. void gpio_set(int gpio_index, int value)GPIO通道的值; 
4. gpio_H/gpio_L则是对gpio_set的包裹,更方便调用而已; 
5. int gpio_get(int gpio_index)获取当前GPIO通道的状态; 
6. void sig_handler(int signo)是捕获终端中Ctrl+C中断,这样在终端的时候,总能将LED关闭; 
最后,在主程序中,执行循环亮灭的操作 
程序执行效果如下: 
 
 
 
 
 |   
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 |