Led Blinking 功能驱动设计

2023-11-10 09:20

本文主要是介绍Led Blinking 功能驱动设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是OBM里的一段代码,实现了LED 闪烁的功能,下面是LED原理图:

Led blinking 

The LEDR, LEDG, LEDB, controlled by the 8806, can be programed to blinking by set the 8806 internal regs. Such as 0x0c,0x0d,0x0e,0x0f.

the difference between the 2 circuit is the resister value ,1 use 1k,and 2 use 0.

now I can only debug out the first blinking . maybe the second circuit has problems .

 

static int enable_led()
+{
+ char val = 0,count;
+
+ portofino_write(0x15, 0x02);
+ portofino_read(0x15,&count);
+ printf(NULL, "0x15 count = 0x%x.", count);
+
+ portofino_write(0x16, 0x10);
+ portofino_read(0x16,&count);
+ printf(NULL, "0x16 count = 0x%x.", count);
+
+
+ portofino_write(0x00, 0x0f);
+ portofino_write(0x01, 0x02);
+ portofino_read(0x01,&count);
+ printf(NULL, "0x01 count = 0x%x.", count);
+
+#if 1
+ AddMessage((UINT8_T*) ("Run Led Enable !\0"));
+ portofino_write(PORTOFINO_WLED2B, 0x2);
+
+ portofino_read(PORTOFINO_WLED2B,&count);
+ printf(NULL, "0x05 count = 0x%x.", count);
+
+ portofino_write(PORTOFINO_WLED3A, 0x35);
+ portofino_read(PORTOFINO_WLED3A,&count);
+ printf(NULL, "0x06 count = 0x%x.", count);
+#endif
+ portofino_read(PORTOFINO_WLED3B, &val);
+
+ portofino_write(PORTOFINO_WLED3B, val | 0x02); //RGB1 LED enable+ portofino_read(PORTOFINO_WLED3B,&count);
+ printf(NULL, "0x07 count = 0x%x.", count);
+
+// portofino_write(PORTOFINO_RGB1_CON, 0x11); //RGB+ portofino_write(PORTOFINO_RGB1_CON, 0x07); //RGB control+ portofino_read(PORTOFINO_RGB1_CON,&count);
+ printf(NULL, "0x0c count = 0x%x.", count);
+
+ portofino_write(PORTOFINO_R_RGB1, 0x00); //Red+ portofino_read(PORTOFINO_R_RGB1,&count);
+ printf(NULL, "0x0d count = 0x%x.", count);
+
+ portofino_write(PORTOFINO_G_RGB1, 0x00); //Green+ portofino_read(PORTOFINO_G_RGB1,&count);
+ printf(NULL, "0x0E count = 0x%x.", count);
+
+ portofino_write(PORTOFINO_B_RGB1, 0xFF); //Blue+ portofino_read(PORTOFINO_B_RGB1,&count);
+ printf(NULL, "0x0F count = 0x%x.", count);
+ AddMessage((UINT8_T*) ("Led Enable Complete !\0"));
+while(1);
+ return 0;
+}


这篇关于Led Blinking 功能驱动设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/381783

相关文章

基于C++的UDP网络通信系统设计与实现详解

《基于C++的UDP网络通信系统设计与实现详解》在网络编程领域,UDP作为一种无连接的传输层协议,以其高效、低延迟的特性在实时性要求高的应用场景中占据重要地位,下面我们就来看看如何从零开始构建一个完整... 目录前言一、UDP服务器UdpServer.hpp1.1 基本框架设计1.2 初始化函数Init详解

springboot+redis实现订单过期(超时取消)功能的方法详解

《springboot+redis实现订单过期(超时取消)功能的方法详解》在SpringBoot中使用Redis实现订单过期(超时取消)功能,有多种成熟方案,本文为大家整理了几个详细方法,文中的示例代... 目录一、Redis键过期回调方案(推荐)1. 配置Redis监听器2. 监听键过期事件3. Redi

Qt实现对Word网页的读取功能

《Qt实现对Word网页的读取功能》文章介绍了几种在Qt中实现Word文档(.docx/.doc)读写功能的方法,包括基于QAxObject的COM接口调用、DOCX模板替换及跨平台解决方案,重点讨论... 目录1. 核心实现方式2. 基于QAxObject的COM接口调用(Windows专用)2.1 环境

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

SpringBoot整合Apache Spark实现一个简单的数据分析功能

《SpringBoot整合ApacheSpark实现一个简单的数据分析功能》ApacheSpark是一个开源的大数据处理框架,它提供了丰富的功能和API,用于分布式数据处理、数据分析和机器学习等任务... 目录第一步、添加android依赖第二步、编写配置类第三步、编写控制类启动项目并测试总结ApacheS

Python实现繁体转简体功能的三种方案

《Python实现繁体转简体功能的三种方案》在中文信息处理中,繁体字与简体字的转换是一个常见需求,无论是处理港澳台地区的文本数据,还是开发面向不同中文用户群体的应用,繁简转换都是不可或缺的功能,本文将... 目录前言为什么需要繁简转换?python实现方案方案一:使用opencc库方案二:使用zhconv库

Qt实现删除布局与布局切换功能

《Qt实现删除布局与布局切换功能》在Qt应用开发中,动态管理布局是一个常见需求,比如根据用户操作动态删除某个布局,或在不同布局间进行切换,本文将详细介绍如何实现这些功能,并通过完整示例展示具体操作,需... 目录一、Qt动态删除布局1. 布局删除的注意事项2. 动态删除布局的实现步骤示例:删除vboxLay

Spring Boot整合Redis注解实现增删改查功能(Redis注解使用)

《SpringBoot整合Redis注解实现增删改查功能(Redis注解使用)》文章介绍了如何使用SpringBoot整合Redis注解实现增删改查功能,包括配置、实体类、Repository、Se... 目录配置Redis连接定义实体类创建Repository接口增删改查操作示例插入数据查询数据删除数据更

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export