RTEMS-BBB(七):LED点亮
来源:互联网 发布:开源cms php 编辑:程序博客网 时间:2024/06/05 07:36
首先明确硬件地址
AM335X 共4组 GPIO 模块,每组 32 pins USR0~USR3 对应 GPIO1_21~GPIO1_24 GPIO_OE1: 第一组 GPIO 输出允许(每一位对应一只GPIO引脚,0-输出,1-输入) GPIO_CLR1: GPIO 引脚清"0" (写 "1" 清0,写"0"无效) GPIO_SET1: GPIO 引脚置"1" (写 "1" 置1,写"0"无效) GPIO_OUT1: 输出控制#define GPIO1 0x4804C000#define GPIO_OE1 (GPIO1+0x134)#define GPIO_OUT1 (GPIO1+0x13C)#define GPIO_CLR1 (GPIO1+0x190)#define GPIO_SET1 (GPIO1+0x194)将 GPIO1_21~GPIO1_24 设为输出: *(int *)GPIO_OE1 &= ~(0xf<<21);4个LED亮: *(int *)GPIO_CLR1 |= (0xf<<21); 或者 *(int *)GPIO_OUT1 &= ~(0xf<<21);4个LED灭: *(int *)GPIO_SET1 |= (0xf<<21); 或者 *(int *)GPIO_OUT1 |= (0xf<<21);根据此编写test.c#include <stdlib.h> #include <stdio.h> #include <bsp.h> #define GPIO1 0x4804C000#define GPIO_OE1 (GPIO1+0x134)#define GPIO_OUT1 (GPIO1+0x13C)#define GPIO_CLR1 (GPIO1+0x190)#define GPIO_SET1 (GPIO1+0x194) rtems_task Init(rtems_task_argument ignored) { printf("LED TASK\n"); int i=0; while (1) { for(i=1;i<4;i++) { if(i!=4) { *(int *)GPIO_OE1 = ~(1<<(21+i)); rtems_task_wake_after( 100 ); *(int *)GPIO_OUT1 = ~(1<<(21+i)); rtems_task_wake_after( 50 ); *(int *)GPIO_OUT1 = 0xf<<21; } else i=0; } } /* configuration information */ #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define CONFIGURE_MAXIMUM_TASKS 10 #define CONFIGURE_INIT #include <rtems/confdefs.h> 初始化一个TASK,rtems_task_wake_after控制亮灭时间下面将这个led加入到rki的shell中将test.c转为led_cmd.c初始化一个led_command任务,然后设置一下return 0,控制任务运行的时间在local_shell_cmds.c中增加int led_command( int argc, char *argv[]);Add command下添加rtems_shell_add_cmd("led","misc","LED working",led_command);以后的应用也可以这样开发,再生成rki.elf和bone_rki.elf-sdcard.img后烧写到SD卡启动后shell中输入led,启动程序
0 0
- RTEMS-BBB(七):LED点亮
- bbb板运行rtems-编写led底层驱动
- [BBB试用之旅2] python调用库点亮led
- RTEMS-BBB(二):工具链安装
- RTEMS-BBB(三):源码和BSP
- RTEMS-BBB(四):rki镜像
- RTEMS-BBB(五):SD卡
- RTEMS-BBB(八):UART扩展:准备
- RTEMS-BBB(九):UART扩展:编程
- RTEMS-BBB(一):arm-rtems4.11起步
- RTEMS-BBB(六):SD卡分步制作
- 点亮LED灯(一)
- 点亮LED
- 点亮LED
- 点亮LED
- 点亮led
- ARM11裸机开发(一)---点亮LED
- STC89C52单片机学习(一)----点亮LED
- 设计模式 适配器模式
- omci批量升级
- 多线程之售票安全版
- Creating ADF BC View Object Instances On The Fly!!!!!!
- There is a version mismatch between the spring client and the server
- RTEMS-BBB(七):LED点亮
- Android--SparseArray<E>详细介绍
- 界面布局(2)
- OpenGL环境设置
- C++中malloc/free与new/delete的区别及内存分配失败错误处理
- 【Android应用开发技术:图像处理】Bitmap显示性能优化分析
- NYOJ --277 车牌号
- 中文和Unicode互相转化
- js跳转页面实现