该功能非常简单,即操作GPIO来控制LED的开和关,以及操作PWM输出来控制LED的亮度,但是在此过程中存在很多问题。第一个是GPIO输出的高电平和低电平控制LED灯亮和灭。
检查官方文章提供的示意图,找到灯泡部分的电路。我发现实际上有两个灯板,但其中一个是交通灯板,另一个是三色RGB灯。
控制引脚完全相同。以RGB灯板为例。
根据接口,转到背板接口进行检查,它可以对应于:red-GPIO10_PWM1 green-GPIO11_PWM2 blue-GPIO12_PWM3核心板LED1-GPIO9下一个修改直接在SDK的ap / iothardware / led_example中。在c中修改。
已有GPIO初始化和调用,这里只是添加和修改引脚。注意:示例中使用的GPIO9是核心板上的LED1。
如果插入了RGB灯板,则LED1将始终亮着,并且不会随着引脚的变化而改变。这一点使我很久以来一直怀疑代码。
后来,我检查了电路图,发现RGB灯板的GPIO9引脚已连接到红外检测引脚。该引脚被拉高,也就是说,主控制器被拉低以使LED1熄灭,但实际上它不会熄灭。
GPIO操作在这里完成,非常简单,只需在官方例程中对其进行修改即可。但是,还没有结束。
如上所述,RGB的三个引脚是复用功能,可以与PWM输出功能复用。在这里,我们继续将代码更改为PWM控制。
首先初始化GPIO,然后将这3个引脚设置为PWM复用输出功能,并指定PWM时钟。 #defineLED_REDWIFI_IOT_IO_NAME_GPIO_10#defineLED_GREENWIFI_IOT_IO_NAME_GPIO_11#defineLED_BLUEWIFI_IOT_IO_NAME_GPIO_12GpioInit(); IoSetFunc(LED_RED,WIFI_IOT_IO_FUNC_GPIO_10_PWM1_OUT); GpioSetDir(LED_RED,WIFI_IOT_GPIO_DIR_OUT); IoSetFunc(LED_GREEN,WIFI_IOT_IO_FUNC_GPIO_11_PWM2_OUT); GpioSetDir(LED_GREEN,WIFI_IOT_GPIO_DIR_OUT); IoSetFunc(LED_BLUE,WIFI_IOT_IO_FUNC_GPIO_12_PWM3_OUT); GpioSetDir(LED_BLUE,WIFI_IOT_GPIO_DIR_OUT); hi_pwm_init(HI_PWM_PORT_PWM1); hi_pwm_init(HI_PWM_PORT_PWM2); hi_pwm_init(HI_PWM_PORT_PWM3); hi_pwm_set_clock(PWM_CLK_160M);初始化完成后,它是控制PWM占空比以调节LED亮度的功能。
voidLedPWM(uint16pwm_r,uint16pwm_g,uint16pwm_b){hi_pwm_start(HI_PWM_PORT_PWM1,pwm_r,1600); hi_pwm_start(HI_PWM_PORT_PWM2,pwm_g,1600); PWM(在此周期执行,HI_PWM1,1600); hi_pwm_start(执行此操作)占空比的值。 switch(sta){case0:if(pwm_R《 1500)pwm_R + = 5; else {sta = 1; pwm_R = 2; pwm_G = 2; pwm_B = 2;} break; case1:if(pwm_G《 1200)pwm_G + = 5; else {sta = 2; pwm_R = 2; pwm_G = 2; pwm_B = 2;} break;情况2:if(pwm_B《 1200)pwm_B + = 5; else {sta = 0; pwm_R = 2; pwm_G = 2; pwm_B = 2 ;} break;} LedPWM(pwm_R,pwm_G,pwm_B); usleep(2);与PWM相关的功能都在hi_PWM.h中定义,因此必须引用此头文件,并在此示例所在的BUILD.gn文件中也添加其位置:“ // vendor / hisi / hi3861 / hi3861 // include”。
。在应用程序所在的BUILD.gn中的功能项目中,添加新led_example.c所在的路径:“ iothardware:led_example”。
似乎设置和实现已在这里完成。但是,编译时直接报告错误:undefinedreferencetohi_PWM_start和其他几个函数。
这个问题困扰了我很长时间。后来,我查看了联执安ole驱动程序中的IIC操作,以了解代码的PWM部分仅在hi3861驱动程序中打开PWM功能时才编译,否则找不到特定的实现。
编译失败。具体来说,在vendor / hisi / hi3861 / hi3861 / build / config / usr_config.mk文件中添加CONFIG_PWM_SUPPORT = y。
当您不熟悉整个框架时,解决问题并不容易。另外,在调试PWM的过程中,发现不应将hi_PWM_start函数中的duty参数设置为0。
调试3种颜色时,这两种颜色均设置为0,实际上是白色,并且两种颜色均为明亮的。稍后,将其设置为2是可以的,并且这三种颜色不会互相影响。
公司: 深圳市捷比信实业有限公司
电话: 0755-29796190
邮箱: ys@jepsun.com
产品经理: 汤经理
QQ: 2057469664
地址: 深圳市宝安区翻身路富源大厦1栋7楼

更多资讯
获取最新公司新闻和行业资料。
- double sum = 0.0; for(int i = 0; i < n; i++) { if(resistors[i] > 0) { sum += 1.0 / resistors[i]; 在C语言中计算并联电阻的总电阻是一个常见的应用问题,它涉及到基本的物理知识与编程技巧的结合。并联电路中的总电阻可以通过所有并联电阻倒数的和的倒数来计算。首先,我们需要定义一个函数来处理这一计算过程。例如...
- 现货SMC磁性开关D-90、D-A93 D-A73:高效可靠的自动化控制选择 现货供应的SMC磁性开关D-90、D-A93和D-A73型号是工业自动化领域中不可或缺的传感设备。这些开关主要用于检测气缸活塞的位置,通过内置的磁感应元件来实现非接触式的信号传输。它们在设计上具备小巧紧凑的特点,能够轻松安装...
- 德国福P+F接近开关:自动化控制领域的高效解决方案 德国福P+F公司是世界著名的传感器制造商之一,其生产的接近开关在自动化控制领域拥有极高的声誉。福P+F接近开关采用先进的传感技术,能够在无需物理接触的情况下检测到目标物体的存在,这不仅减少了机械磨损,还大大提...
- 磁性开关CS1-F:高效可靠的自动化控制组件 磁性开关CS1-F是一种广泛应用于自动化控制领域的设备,它主要通过感应磁场的变化来实现电路的接通或断开。这种开关通常用于检测物体的位置,特别是在各种工业机械和自动化生产线中发挥着重要作用。CS1-F型号的磁性开关以...
- 光敏电阻控制继电器控制原理 它的工作原理是:当光强降低到设定阈值时由于光敏电阻阻值上升激发VT1导通,VT2的激励电流使继电器工作,常开触点闭合、断开,实现对外电路的控制。...
- ME--M限位开关:自动化控制中的关键组件 ME--M限位开关是一种用于控制机械设备运动位置或行程的电子装置。这种开关通过检测机械部件的位置来实现自动化控制,广泛应用于各种工业设备和系统中。在实际应用中,ME--M限位开关能够帮助设备在达到预设位置时停止、改...
- 采样电阻TA-I合金电阻RLM25FEER001 2512 2W 1mΩ 加工定制否品牌TA-I/大毅型号RLM25FEER001种类合金电阻性能高功率材料合金制作工艺合金贴片工艺外形平面片状允许偏差±1%温度系数100PPM/℃额定功率2(W)功率特性大功率频率特性高频产品性质取样电流电阻 采样检测电阻货号W5025...
- PDCALPSTIA Portal PLC与AC-DC PWM控制器协同优化工业控制系统 PDCALPSTIA Portal PLC如何赋能智能电源管理作为新一代工业物联网(IIoT)平台,PDCALPSTIA Portal PLC不仅具备强大的逻辑运算能力,更集成了高级数据处理与可视化功能。当与AC-DC脱机式PWM控制器结合使用时,可实现从硬件到软件的全链...
- TAI薄膜精密电阻技术深度解析:与TA-I、TAITIEN的性能差距在哪里? TAI薄膜精密电阻技术深度剖析:超越TA-I与TAITIEN的关键因素随着电子系统向小型化、高集成度与高可靠性发展,薄膜精密电阻的性能成为决定系统成败的关键之一。大毅科技(TAI)作为全球领先的精密电阻制造商,其推出的TAI系列...
- 磁性感应接近开关SMC D-C73:高效稳定的自动化控制选择 磁性感应接近开关SMC D-C73是一种高效、非接触式的检测设备,广泛应用于自动化控制领域。这种开关能够检测到特定类型的磁场变化,并据此触发开关动作,无需物理接触即可完成信号的传输与处理,因此在提高设备运行效率的...
- 深入解析 Chip SMD-1.6X0.8mm 元件的制造工艺与质量控制标准 Chip SMD-1.6X0.8mm 元件制造流程详解该类元件从原材料到成品需经历多个关键步骤,每一步都直接影响最终产品的性能表现。核心制造工艺环节基材准备:选用高纯度金属箔(如镍合金、铜箔)作为导电层,确保低电阻率与良好延展...
- 多路复用控制器中控制线路保险丝选型指南与安全配置分析 多路复用控制器中控制线路保险丝选型的重要性在工业自动化与智能控制系统中,多路复用控制器(Multiplexer Controller)广泛应用于信号切换、数据采集和设备管理。其控制线路的稳定性和安全性至关重要。为防止过流、短路等故...
- hyp-f系列隔膜式压力开关:工业自动化领域的精密控制专家 hyp-f系列隔膜式压力开关是一种专为工业应用设计的精密设备,用于测量和控制压力系统中的压力变化。这种压力开关采用隔膜技术,能够精确地感应到微小的压力变化,并将这些变化转换成电信号,进而触发相应的控制系统进行...
- 3-Phase Gate Drivers与Coilcraft P Series在工业电机控制中的协同应用解析 3-Phase Gate Drivers与Coilcraft P Series:高效电力控制的黄金组合在现代工业自动化和高端电机控制系统中,3-Phase Gate Drivers(三相栅极驱动器)与Coilcraft P Series(线圈制造商Coilcraft的P系列电感)正逐渐成为核心组件。它们不仅在性能上...
- 加热控制器如何精准控制加热电阻丝的温度与功率 加热控制器在电阻丝加热系统中的核心作用加热控制器是实现加热电阻丝稳定、安全、高效工作的关键设备。它通过实时监测温度信号,并根据预设参数调节输出功率,确保加热过程既不超温也不过低。1. 温度反馈机制加热控制...
- 大毅TAI薄膜精密电阻与TA-I、TAITIEN对比分析:性能、应用与技术优势全解析 大毅TAI薄膜精密电阻与TA-I、TAITIEN全面对比在高精度电子元件领域,薄膜精密电阻是实现稳定信号传输与精确测量的核心组件。大毅科技(Taiwan Advanced Instruments, TAI)推出的TAI系列薄膜精密电阻,凭借其卓越的稳定性与可靠性,已...
- 费斯托Festo PEV-W-KL-压力开关:工业自动化领域的高效解决方案 费斯托Festo的压力开关PEV-W-KL-是一款高性能的设备,被广泛应用于工业自动化领域。这款压力开关设计紧凑,具有高度的可靠性和精确度,能够在各种恶劣环境下稳定工作。PEV-W-KL-型号的压力开关适用于监测气体或液体的压力,并...
- ST45-M智能控制器:高性能与灵活性的完美结合 ST45-M智能控制器是由一家专注于自动化控制技术的公司研发生产的一款高性能设备。该控制器集成了先进的微处理器和数字化信号处理技术,适用于多种工业环境下的自动化控制需求。它能够实现精准的数据采集与处理,支持多...
- 触控屏幕控制器、电容触控屏与压感触控屏的核心区别解析 触控屏幕控制器、电容触控屏与压感触控屏的区别详解随着智能设备的普及,触控技术已成为人机交互的重要方式。在众多触控技术中,触控屏幕控制器、电容触控屏和压感触控屏是三种常见且关键的技术组件。它们在工作原理...
- 如何正确为多路复用控制器的控制线路配置保险丝?实用技术解析 多路复用控制器控制线路保险丝配置实战指南在现代自动化系统中,多路复用控制器承担着信号路由与逻辑控制的重要任务。然而,其控制线路常因外部干扰、接线错误或元件老化而引发过流风险。科学配置保险丝,是保障系统...